Javaにおけるセットの共通部分の取得方法


方法1: retainAllメソッドを使用する方法

Set<Integer> set1 = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));
Set<Integer> set2 = new HashSet<>(Arrays.asList(4, 5, 6, 7, 8));
set1.retainAll(set2); // set1にはset1とset2の共通部分が格納される
System.out.println(set1); // 共通部分を表示する

方法2: Stream APIを使用する方法

Set<Integer> set1 = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));
Set<Integer> set2 = new HashSet<>(Arrays.asList(4, 5, 6, 7, 8));
Set<Integer> intersection = set1.stream()
        .filter(set2::contains)
        .collect(Collectors.toSet());
System.out.println(intersection); // 共通部分を表示する

方法3: Apache Commons Collectionsを使用する方法

Apache Commons Collectionsライブラリを使用すると、以下のように簡単に共通部分を取得することができます。

Set<Integer> set1 = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));
Set<Integer> set2 = new HashSet<>(Arrays.asList(4, 5, 6, 7, 8));
Set<Integer> intersection = SetUtils.intersection(set1, set2);
System.out.println(intersection); // 共通部分を表示する

以上の方法を使用すると、Javaでセットの共通部分を取得することができます。選択する方法は、コードの要件やパフォーマンスによって異なります。適切な方法を選んで、目的に応じたコードを実装してください。