首頁 > Java > java教程 > 主體

如何在保持順序的同時從 Java 清單中刪除重複項?

Patricia Arquette
發布: 2024-11-03 18:19:03
原創
670 人瀏覽過

How Can I Remove Duplicates from a List in Java While Maintaining Order?

從清單中刪除重複項

在 Java 中使用清單時,可能需要刪除重複元素。常見的嘗試是在新增元素之前使用 for 迴圈檢查每個元素是否已存在於清單中。但是,這種方法效率低且容易出錯。

問題:

您描述了在嘗試從 Customer 物件清單中刪除重複項時遇到的問題。您的程式碼使用 for 迴圈在新增客戶之前檢查客戶是否尚未出現在清單中。

解決方案:

提供的解決方案提供了更有效率和更有效率的解決方案。在保留清單原始順序的同時刪除重複項的簡潔方法。它利用 LinkedHashSet 類,該類根據插入順序維護元素的連結列表,並自動刪除重複項。

使用LinkedHashSet:

以下程式碼片段示範如何使用LinkedHashSet 刪除重複項同時保持順序:

<code class="java">List<Customer> depdupeCustomers = new ArrayList<>(new LinkedHashSet<>(customers));</code>
登入後複製

此行從客戶列表中創建一個新的LinkedHashSet,從而產生一組唯一的客戶。然後該集合將轉換回有序列表(ArrayList)。

修改原始列表:

如果您想要更改原始列表,可以使用以下程式碼:

<code class="java">Set<Customer> depdupeCustomers = new LinkedHashSet<>(customers);
customers.clear();
customers.addAll(dedupeCustomers);</code>
登入後複製

此程式碼將列表轉換為LinkedHashSet ,刪除重複項,清除原始列表,然後將唯一元素添加回其中,從而有效地從原始列表中刪除重複項。

以上是如何在保持順序的同時從 Java 清單中刪除重複項?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板