ArrayList ArrayList list = new ArrayList(); //通过空参构造创建的list集合 其底层初始数组容量为零 ArrayList list = new ArrayList(int initalCapacity); //会使用指定容量的数组 public ArrayList(Collocation < ? extends E > c) //会使用c的大小作为数组容量 add(Object o)首次扩容为10 //再次扩容为上次容量的1.5倍 addAll(Collection c)//没有元素时 扩容为Math.max(10,实际元素个数) //有元素时为Math.max(原容量 1.5倍,实际元素个数) //fail-fast 一旦发现遍历的同时其他人来修改,就立刻抛出异常 //fail-safe 发现遍历的同时其他人来修改,应当能有应对策略,例如牺牲一致性来让整个遍历运行完成 private static void failFast(){ ArrayList<Student> list = new ArrayList(); list.add(new Student("A")); list.add(new Student("A")); list.add(new Student("A")); list.add(new Student("A")); list.add(new Student("A")); list.add(new Student("A")); list.add(new Student("A")); for (Student student : list) { System.out.println(student); } System.out.println(list); }