本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”关注,和我一起每天进步一点点
ArrayList
public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable
{
/**
* 默认ArrayList的容量为10
*/
private static final int DEFAULT_CAPACITY = 10;
/**
* 可以看出ArrayList底层通过数组实现
*/
private static final Object[] EMPTY_ELEMENTDATA = {
};
private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {
};
/**
* 可以看出ArrayList基于数组实现
*/
transient Object[] elementData;
private int size;
/**
*
*/
public ArrayList() {
this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA;
}
public ArrayList(int initialCapacity) {
if (initialCapacity > 0) {
this.elementData = new Object[initialCapacity];
} else if (initialCapacity == 0) {
this.elementData = EMPTY_ELEMENTDATA;
} else {
throw new IllegalArgumentException("Illegal Capacity: "+
initialCapacity);
}
}
/**
*获取大小
*/
public int size() {
return size;
}
/**
*判断是否为空
*/
public boolean isEmpty() {
return size == 0;
}
public boolean contains(Object o