容器的交集操作
boolean retainAll(Collection<?> c)
方法执行成功返回true,失败返回false
示例代码(部分):
List<String> list_a = new ArrayList<>();
list_a.add("1");
list_a.add("2");
list_a.add("3");
List<String> list_b = new ArrayList<>();
list_b.add("3");
list_b.add("4");
list_b.add("5");
boolean flag_a = list_a.retainAll(list_b);
System.out.println(flag_a);
for (String str:list_a) {
System.out.println(str);
}
与并集一致,若list_a为空,则会返回false。
容器的差集操作
boolean removeAll(Collection<?> c)
示例代码(部分):
List<String> list_C = new ArrayList<>();
list_C.add("1");
list_C.add("2");
list_C.add("3");
List<String> list_D = new ArrayList<>();
list_D.add("3");
list_D.add("4");
list_D.add("5");
boolean flag_b = list_C.removeAll(list_D);
System.out.println(flag_b);
for (String str:list_C) {
System.out.println(str);
}
将list_C中与list_D相同的元素删除,删除成功返回true,失败返回false
ArrayList底层存储方式
ArrayList底层是用数组实现的存储。在1.7版本中,创建容器默认大小为10,在1.8版本中创建容器大小默认为0,节省了空间,需要添加元素时再扩容为10,后续再添加超过容量时会以原来大约1.5倍扩容。