Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用addAll在哈希集中添加列表_Java_List_Collections_Hashset - Fatal编程技术网

Java 使用addAll在哈希集中添加列表

Java 使用addAll在哈希集中添加列表,java,list,collections,hashset,Java,List,Collections,Hashset,在java中,我无法使用hash set addAll方法将列表添加到hashset List a = new ArrayList(); a.add(20); List b = new ArrayList(); b.add(30); Set set = new HashSet ( a ); set.addAll( b); 请帮忙 谢谢我试过你的代码,它对我很有用 不过有一件事——最好使用集合的通用版本。这将删除警告 List<Integer> a = new ArrayLis

在java中,我无法使用hash set addAll方法将列表添加到hashset

List a = new ArrayList();
a.add(20);

List b = new ArrayList();
b.add(30);

Set set = new HashSet ( a );

set.addAll( b);
请帮忙


谢谢

我试过你的代码,它对我很有用

不过有一件事——最好使用集合的通用版本。这将删除警告

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);
List a=new ArrayList();
a、 增加(20);
列表b=新的ArrayList();
b、 增加(30);
Set Set=新哈希集(a);
set.addAll(b);

这很好,只是如果向集合中添加列表,列表和集合之间重复的元素只添加一次

假设ArrayList arr现在有元素2,3,4,HashSet现在有元素2,5,7 addAll(arr),那么set仍然包括2,5,7,3,4


再想象一个场景,其中有一个ArrayList arr和HashSet集合,其中T是一个包含多个参数的泛型类,然后,最终集合中的公共元素将按照equals方法在T类中的重写定义被删除,添加到集合中的元素将在arraylist中的元素上的最终集合中持久化。

您可以这样做:

Set<String> set = new HashSet<String>(list);
Set Set=newhashset(列表);
ArrayList arr=new ArrayList();
arr.add(20);
arr.add(30);
arr.add(40);
系统输出打印项次(arr)//[20, 30, 40]
ArrayList arr2=新的ArrayList();
2.加入(10);
2.加入(70);
2.加入(40);
系统输出打印LN(arr2)//[10, 70, 40]
arr2.addAll(arr);
系统输出打印LN(arr2)//[10, 70, 40, 20, 30, 40]
哈希集=新哈希集(arr);
系统输出打印项次(套)//[20, 40, 30]
set.addAll(arr2);
ArrayList dummy=新的ArrayList(集合);
系统输出打印项次(虚拟)//[20, 70, 40, 10, 30]
    ArrayList<Integer> arr = new ArrayList<>();
    arr.add(20);
    arr.add(30);
    arr.add(40);
    System.out.println(arr); //[20, 30, 40]

    ArrayList<Integer> arr2 = new ArrayList<>();
    arr2.add(10);
    arr2.add(70);
    arr2.add(40);
    
    System.out.println(arr2); //[10, 70, 40]
    arr2.addAll(arr);

    System.out.println(arr2); //[10, 70, 40, 20, 30, 40]

    HashSet<Integer> set = new HashSet<>(arr);
    System.out.println(set); //[20, 40, 30]
    set.addAll(arr2);
    ArrayList<Integer> dummy = new ArrayList<>(set);

    System.out.println(dummy); //[20, 70, 40, 10, 30]