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