1)private transient E[] data
transient:Array List继承了Serializable,变量序列化,给data设置transient是不可序列化,不希望在网络操作(主要涉及到序列化操作,本地序列化缓存也适用)中被传输,保护数据。
2)我思考的是默认大小初始化和指定大小初始化,官方增加了由集合初始化
1 public ArrayList(Collection<? extends E> c){ 2 this((int) (c.size() * 1.1f)); 3 addAll(c); 4 }
3)多利用已经创建的函数,简化代码的书写
1 public boolean contians(Object e){ 2 return indexOf(e) != -1; 3 }
4)复制数组和初始化数组的方法
复制数组:System.arraycopy(data, index, data, end, size - index);
初始化数组:Arrays.fill(data, 0, size, null);