List接口
List是collection的子接口
该类中的元素是有序的 添加顺序和取出顺序一致
该类中的可以有重复元素
list中每个元素都有其对应的顺序索引
ArrayList底层结构
1.可以加入多个null
2.是由数组来实现
3.基本等于vector,除了ArrayList是线程不安全的,执行效率高,在多线程情况下不推荐使用ArrayList.线程不安全
源码分析
public boolean add(E var1) {
this.ensureCapacityInternal(this.size + 1);
this.elementData[this.size++] = var1;
return true;
}
private void ensureCapacityInternal(int var1) {
if (this.elementData == DEFAULTCAPACITY_EMPTY_ELEMENTDATA) {
var1 = Math.max(10, var1);
}
this.ensureExplicitCapacity(var1);