javaで2つのオブジェクトのコレクションから差集合を取得する方法を教えてください。

Javaでは、CollectionインタフェースのretainAll()メソッドを使用して、2つのオブジェクトコレクションの差集合操作を行うことができます。retainAll()メソッドは、呼び出し元の集合を変更し、指定された集合と同じ要素のみを保持します(つまり、2つの集合の共通部分を取得します)。

retainAll()メソッドを用いて2つのオブジェクトの集合から差異を取得するサンプルコードは次のとおりです。

import java.util.*;
public class Main {
public static void main(String[] args) {
// 创建集合A
List<String> collectionA = new ArrayList<>(Arrays.asList("A", "B", "C", "D"));
// 创建集合B
List<String> collectionB = new ArrayList<>(Arrays.asList("C", "D", "E", "F"));
// 取两个集合的差集
collectionA.retainAll(collectionB);
// 输出差集
System.out.println(collectionA);  // 输出: [C, D]
}
}

上記のコードでは、最初にListオブジェクトのcollectionA とcollectionBが作成され、それぞれ[A, B, C, D]と[C, D, E, F]で初期化されています。

次に、collectionAのretainAll()メソッドを呼び出し、collectionBとの交差部分をcollectionAに保持します。

collectionAの出力を最後に得ることで、二つの集合の差集合[C, D]を求められます。

retainAll()メソッドを実行すると呼び出し元のコレクションが変更されます。もとのコレクションを変更したくない場合は、あらかじめ新しいコレクションを作成し、もとのコレクションの要素を新しいコレクションに複製してから、retainAll()メソッドを新しいコレクションに対して実行します。

bannerAds