ArrayList深入学习
ArrayList:
a. 默认初始容量为10的Object[]类型动态数组,当容量不足时,新容量=原来的容量*3/2+1.重新生成一个数组,将原来的数组复制到新的数组中
b. 继承自AbstractList,实现了List接口,
c. 实现了RandmoAccess接口,提供随机访问功能
d. 实现了Serializable接口,支持序列化
e. 是线程不安全的,在单线程中使用
ArrayList的三种遍历方式:
1.通过迭代器遍历
Iterator it=list.iterator();
while(it.hashNext){
it.next();
}
访问效率最低
2.随机访问,通过索引值遍历
for(int i=0;i<list.size();i++){
list.get(i);
}
访问效率最高
3.增强for
for(int i:list){
i;
}
位于两者之间
可以通过下面的方法将集合变为数组
Integer[] newText = (Integer[])list.toArray(new Integer[list.size]);
ArrayList中的常用方法
boolean add(E object);
boolean contains(Object object);
int size();
E get(int index);
E remove(int location );
E set(int location,E obj);