ArrayList 里的 removeAll() 及 retainAll() 方法【jdk源码分析】 源码注释:仅保留此列表中包含在指定集合中的元素。换句话说,从该列表中删除指定集合中不包含的所有元素。 本人解释:原数组和参数数组做交集,保留相同的部分。 源码分析部分: public boolean retainAll(Collection<?> c) { Objects.requireNonNull(c...
System.out.println("array2 的元素"+ objArray2); objArray.removeAll(objArray2);// array1 与 array2的差集 和 array2 与 array1的差集不是一回事System.out.println("array1 与 array2 数组差集为:"+objArray); } } retainAll 处理2个数组的交集 import java.util.ArrayList;publicclassImoocStudent{...
区别只是removeAll方法中complement参数是false,而retainAll方法是true,于是我们转向研究batchRemove方法,首先可以看到定义了两个局部变量r和w,可以理解为read 和 write,r负责遍历ArrayList中的元素,w负责将符合条件的元素进行写出,看到这里,我们就恍然大悟,原来complement参数指的是你要保留还是移除,如果指定的是true,即只有...
子接口:List:存放不唯一、有序(插入的顺序) Set:存放唯一、无序的数据 二、 方法(Collection) 1.添加:Add(object):添加一个元素 addAll(Collection):添加一个集合中的所有元素 2.删除:clear():将集合中的元素全删除,清空集合 Remove(obj):删除集合中指定的对象。注意:删除成功,集合的长度会改变 removeAll(col...
在removeAll() 和 retainAll() 方法中,都调用了 batchRemove()方法,区别只是传参不同,就能实现两种不同的正反删除效果 代码语言:javascript 复制 /** * 从此列表中删除指定集合中包含的所有元素。 */ public boolean removeAll(Collection<?> c) { Objects.requireNonNull(c); return batchRemove(c, false); }...
Arrays.asList():指定大小的列 Collections.sort():按ASCII升序排序 Collections.reverseOrder()和Collections.reverse():按ASCII降序排序,区别在于参数 list.addAll():添加()所有数据 list.removeAll():删除()所有数据 list.retainAll():保留交集 list.subList(size1, size2): 返回size1到size2之间的数据 ...
6、list与Set区别 (1)List简介 实际上有两种List:一种是基本的ArrayList,其优点在于随机访问元素,另一种是LinkedList,它并不是为快速随机访问设计的,而是快速的插入或删除。 ArrayList:由数组实现的List。允许对元素进行快速随机访问,但是向List中间插入与移除元素的速度很慢。
5.2.1 addAll()方法 83 5.2.2 removeAll()方法 84 5.2.3 retainAll()方法 85 5.2.4 containsAll()方法 86 5.2.5 toArray()方法 86 5.3 List集合 87 5.3.1 List的用法 87 5.3.2 使用ArrayList类 89 5.3.3 使用LinkedList类 90 5.4 Set集合 91 5.4.1 使用...
11、retainAll(),保留 arraylist 中在指定集合中也存在的那些元素 al1.retainAll(al2); System.out.println("retain:" + al1); 12、indexOf() 返回 arraylist 中元素的索引值 System.out.println("indexOf:" + al1.indexOf("wiki")); 13、removeAll() 删除存在于指定集合中的 arraylist 里的所有元素 ...