In JavaハッシュセットaddAllメソッドを使用してリストをハッシュセットに追加できません
List a = new ArrayList();
a.add(20);
List b = new ArrayList();
b.add(30);
Set set = new HashSet ( a );
set.addAll( b);
助けてください
ありがとう
私はあなたのコードを試しました、そしてそれは私のために働きます。
ただし、1つだけ、コレクションの汎用バージョンを使用することをお勧めします。これにより、警告が削除されます。
List<Integer> a = new ArrayList<Integer>();
a.add(20);
List<Integer> b = new ArrayList<Integer>();
b.add(30);
Set<Integer> set = new HashSet<Integer>(a);
set.addAll(b);
これは問題なく機能します。リストをセットに追加すると、リストとセットの間で繰り返される要素が1回だけ追加されます。
たとえば、ArrayList arrには要素2,3,4があり、HashSetセットには要素2,5,7があるとします。ここで、set.addAll(arr)を実行すると、setには2,5,7,3,4が含まれます。
また、ArrayList arrとHashSetセットがあり、Tが複数のパラメーターを含むジェネリッククラスであるシナリオを想像してください。その後、最終セットの共通要素は、Tクラスのequalsメソッドのオーバーライドされた定義に従って削除され、セットに追加される要素は次のようになります。配列リスト内の要素の最終セットで永続化されました。