ArrayList
public class ArrayList<E> extends AbstractList<E> implements List<E>,
RandomAccess, Cloneable, Serializable
问题:
1、底层的数据结构是什么
2、怎么扩容
数据结构:
数组
增删改查:
增:
public boolean add(E paramE) {
ensureCapacity(this.size + 1);
this.elementData[(this.size++)] = paramE;
return true;
}
public void ensureCapacity(int paramInt) {
this.modCount += 1;
int i = this.elementData.length;
if (paramInt > i) {
Object[] arrayOfObject = this.elementData;
int j = i * 3 / 2 + 1;
if (j < paramInt) {
j = paramInt;
}
this.elementData = Arrays.copyOf(this.elementData, j);
}
}
扩容1.5倍
查:
检查是否越界,返回对应数据。
删:
同上
改:
同上
浙公网安备 33010602011771号