首頁  >  文章  >  Java  >  如何在保留訂單的同時從清單中刪除重複項?

如何在保留訂單的同時從清單中刪除重複項?

Patricia Arquette
Patricia Arquette原創
2024-11-04 07:17:31693瀏覽

How to Remove Duplicates from a List While Preserving Order?

如何有效率地從清單中刪除重複元素

您遇到了需要從清單中刪除重複元素的場景。但是,正如您在程式碼片段中所描述的,您目前的方法並未產生所需的結果。

在保持原始順序的同時刪除重複項的一種有效方法是利用 LinkedHashSet。這種基於集合的資料結構會自動丟棄重複元素,同時保留插入順序。

要實現此目的,您可以使用以下程式碼將現有清單轉換為LinkedHashSet:

<code class="java">List<Customer> dedupeCustomers = new ArrayList<>(new LinkedHashSet<>(customers));</code>

或者,如果您想要修改原始列表,可以選擇以下方法:

<code class="java">Set<Customer> dedupeCustomers = new LinkedHashSet<>(customers);
customers.clear();
customers.addAll(dedupeCustomers);</code>

此方法首先建立一個新的LinkedHashSet,其中包含原始清單中的唯一元素。然後,原始清單將被清除並替換為重複資料刪除集的元素,從而有效地刪除任何重複項。

透過實作這些解決方案中的任何一個,您可以有效地從清單中刪除重複項,確保每個元素僅出現一次,同時保留如果需要的話,原始訂單。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn