効率的な時間で 2 セットの交差セットを取得する方法について多くのクエリを探しています。そして、非常に効率的な方法を探しています。私自身の方法に近づく前に、Javaに同じことを実行するメソッドを構築するように依頼できないのはなぜですか。なぜ Java は、ソート メソッドやコレクションのどこかに、コレクション クラスの交差のようなメソッドを構築していないのですか? この背後にある理由はありますか?
これは、セット上の交差のフィットフォールに関する議論であると考えてください。
ありがとう、
効率的な時間で 2 セットの交差セットを取得する方法について多くのクエリを探しています。そして、非常に効率的な方法を探しています。私自身の方法に近づく前に、Javaに同じことを実行するメソッドを構築するように依頼できないのはなぜですか。なぜ Java は、ソート メソッドやコレクションのどこかに、コレクション クラスの交差のようなメソッドを構築していないのですか? この背後にある理由はありますか?
これは、セット上の交差のフィットフォールに関する議論であると考えてください。
ありがとう、
2つのコレクションの間の交差点を見つけるために必要な最も近いものは ですretainAll()
。keepAll は、交差点を含む新しいセットを返すのではなく、それが呼び出されたセットのインスタンスを変更することに注意してください。例:
import java.util.HashSet;
import java.util.Set;
class Test2
{
public static void main(String[] args) {
Set<String> set1 = new HashSet<>();
set1.add("A");
set1.add("B");
Set<String> set2 = new HashSet<>();
set2.add("A");
set2.add("D");
set1.retainAll(set2);
System.out.println(set1);
}
}