自动扩容机制 ArrayList默认分配10个长度的容量,1.7之前动态扩容1.5倍+1,1.7之后动态扩容1.5倍。 在自动扩容之后,集合中还有很多空余空间,可以调用trimToSize()方法去掉空余空间,节省内存。 在集合初始化的时候如果不知道要添加元素的个数,可以通过ensureCapacity(int size);
注意事项 在使用迭代器遍历ArrayList的过程中 ,绝对不允许对集合整体进行任何添加删除操作。可以使用迭代器的remove()方法,删除当前所指向的元素。 5.0之前 必须使用迭代器的remove方法删除 5.0之后 可以使用CopOnWriteArrayList 练习题:
1. List<Integer>`list = new ArrayList<>(); Integer int1 = new Integer(1); Integer int2 = new Integer(2); list.add(int1); System.out.println(list.size()); list.remove(int2); System.out.println(list.size()); 2 List<String>`list = new ArrayList<>(); String str1 = new String("tom"); String str2 = new String("tom"); list.add(str1); System.out.println(list.size()); list.remove(str2); System.out.println(list.size());