本文介绍一种常见的集合:ArrayList。本文的集合指java.util包下
一,基本介绍
ArrayList是List接口的一个实现类,大小可变数组。基本实现写法为:
List<String> list=new ArrayList<String>();
尖括号中为字符串类型,你可以替换成你要存储的数据类型。
关于ArrayList,有几点注意事项:
1,容量可变。ArrayList是可变数组,有默认长度,像上面那种初始化默认长度为10,允许塞入10条记录,当记录数(size)接近默认长度时,ArrayList的容量会自动增长,以保证容量大小总是大于等于已存入的记录数;
2,大批量增加。虽然ArrayList可以自动扩容,但如果一次性增加太多元素对象时会造成过多的再分配次数(每次都增加一部分容量),会影响效率,较好的做法是,要么初始化时就设置一个需要的容量长度,要么就在大批量增加前主动增加较大容量;
3,非线程同步。如果有多个线程访问同一个实例,修改列表等,会出现不同步情况,需要对应的封装对象完成同步操作,例如:
Collections.synchronizedList
二,常用方法
构造方法:
1,ArrayList() ;构造一个初始容量为 10 的空列表。
2,ArrayList(int initialCapacity) ;构造一个具有指定初始容量的空列表。
方法:
1,add(E e):增加新元素,添加到列表尾部;
2,addAll(Collection