1. ホーム
  2. java

[解決済み】Javaセットのユニオンまたはインターセクション

2022-01-25 11:52:32

質問

の結合または交差を作る最も簡単な方法は何ですか? Set をJavaで作成することはできますか?この単純な問題に対して、いくつかの奇妙な解決策を見たことがあります(例えば、2つのセットを手動で反復させる)。

解決方法は?

最もシンプルな1行の解答はこれだ。

set1.addAll(set2); // Union

set1.retainAll(set2); // Intersection

上記の解答は 破壊的 つまり、元の セット1 を変更しました。
既存のセットを触りたくない場合は、新しいセットを作成します。

Set<E> result = new HashSet<>(set1);
 // └─ your specific type

result.addAll(set2); // Union

result.retainAll(set2); // Intersection