- String数组转List<String>
List<String> strList = Arrays.asList(String[] strArr); - List<String> 的交集(双方相同的元素)、并集(双方所有的元素)、差集|去重(不存在于对方集合里的元素)、无重复的并集(先取差集,在取并集)
List<String> list1 =new ArrayList<String>();
list1.add("A");list1.add("B);
List<String> list2 =new ArrayList<String>();
list2.add("B");list2.add("C");
-
交集:list1.retainAll(list2);
-
并集:list1.addAll(list2);
-
差集|去重:list1.removeAll(list2);
-
无重复的并集:list2.removeAll(list1);→list1.addAll(list2);
-
注意,以上所有的方法(retainAll、addAll、removeAll)都不能使用Arrays.asList(String[] strArr) 转换过来的实例调用 。因为:首先以上方法都是直接拿调用方法对象本身在进行数据处理(add、remove),其次 asList 方法返回的并不是java.util.ArrayList 类,而是Arrays里面的一个静态内部类。它并没有实现remove 和 add 方法(详细了解直通车:https://blog.csdn.net/qq_34115899/article/details/80513271),也就是说 asList 方法返回的是一个不能改变大小的集合。所以如果使用这种实例调用以上方法会报错。