理解这个方法、小白也是耗尽所有资源、总结下来的几句话:
先上代码:(附另外图)
1 main(){ 2 Set<Integer> set = new HashSet(); 3 Set<Integer> set2 = new HashSet(); 4 set.add(1); 5 set.add(2); 6 set.add(3); 7 System.out.println(set);//运行结果:[1,2,3] 8 set2.add(3); 9 set2.add(4); 10 set2.add(5); 11 set2.add(6); 12 System.out.println(set2);//运行结果: [3,4,5,6] 13 14 set.addAll(set2); 15 System.out.println(set);//运行结果:[1,2,3,4,5,6] 16 }
当然、这一块涉及的知识很广泛、在这里小白只是简单表述 addAll(Collection<? extends E> c) 方法;
回归正题:
这个方法、如图的结果。很好理解,将一个泛型集合添加到另外一个泛型集合当中去、那么当这个目标集合【即:被添加的集合】的元素和添加的集合内的元素发生重复、则不将重复的这个元素添加到目标集合中;
再比如、将A添加到B集合中、A中的元素有[1,2,3]、B中有[3,4,5,6];此时A集合的所有元素想要添加到B集合中、首先看两个集合的泛化类型是否一致、不一致将会在set.addAll(set2);处编译报错!如果泛化类型一致、则考虑两个集合中是否有重复的元素、如果没有重复的元素那么A中的所有元素都会添加到B集合中、存在重复元素、则只保留目标集合的重复元素!相当于数学的交并集那块知识、