底層使用 Object[] 存儲元素html
DEFAULT_CAPACITY 默認初始化容量10java
不指定初始化容量大小的構造器:默認爲一個空數組數組
當實例調用add(E e) 會進行List擴容 ,初始化的時候爲10,以後再次擴容的大小爲原來的1.5倍spa
public void trimToSize();若是集合大小比實際集合中元素的個數多,調整集合的真實大小code
private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8; 集合最大的大小
orm
Arrays.copyOf() 底層調用 System.arraycopy()
htm
判斷某個對象在ArrayList實例中的位置,使用的是for循環查找。其中contains(Object o) 方法也是調用indexOf(Object o)對象
public E set(int index, E element) 替換指定位置的元素element
不能在List迭代過程當中進行元素移除rem
public class ListTest { public static void main(String[] args) { ArrayList list = new ArrayList(); for (int i = 0; i < 10; i++) { list.add(i); } for (int i = 0; i < list.size(); i++) { Object o = list.get(i); System.out.println(o); list.remove(o); } System.out.println(list); } }
0 2 4 6 8 [1, 3, 5, 7, 9]
應當使用 Iterator
public class ListTest { public static void main(String[] args) { ArrayList list = new ArrayList(); for (int i = 0; i < 10; i++) { list.add(i); } for (Iterator iterator = list.iterator(); iterator.hasNext();) { Object object = (Object) iterator.next(); iterator.remove(); } System.out.println(list); } }
[]