リストから重複を効率的に削除する方法
リストから重複要素を削除する必要があるシナリオが発生します。ただし、コード スニペットで説明されているように、現在のアプローチでは望ましい結果が得られません。
元の順序を維持しながら重複を削除する効果的な方法の 1 つは、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 を作成します。その後、元のリストがクリアされ、重複排除されたセットの要素に置き換えられ、重複が効果的に削除されます。
これらのソリューションのいずれかを実装すると、リストから重複を効率的に削除でき、各要素が保持されたまま 1 回だけ表示されるようになります。必要に応じて元の注文。
以上が順序を維持しながらリストから重複を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。