ArrayList
ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问员的效率比较高,但插入元素的效率比较低。
常用使用方法
boolean add (Object o):在列表的尾部添加元素,添加成功返回true。
void add(int index,Object o):在指定的索引位置添加元素,无返回值。索引位置必须介于0和列表中的元素个数之间。
int size():返回列表中的元素个数
Object get(int index):返回指定索引位置处的元素。取出的元素时Object类想,使用前需要进行强制类型转换
boolean contains(Object o):判断列表中是否存在指定元素
boolean remove(Object o):从列表中删除指定的元素,如果删除成功后返回一个true
Object remove(int index):从列表中删除指定索引位置元素,删除后返回被删除的元素。
向集合中添加元素
使用add方法,从集合尾端放入需要添加的元素。
选择集合中某个索引位置插入元素:
根据索引位置添加元素,占用当前索引的内存空间,该索引以后的数据全部向后移动。应用数组方法,通过数组下标查找集合内容,根据下标插入数据,并把后面的元素全部向后移动,影响比较大。
ArrayList的插入效率比较低,当你使用add(int index,Object o)方法插入时,集合内插入位置索引后面的所有元素需要全部向后移动,所以有多个数据需要受影响。
可以通过Debug模式查看插入数据时集合内部的元素影响,容易发现当你从当前位置插入元素时,该索引后面的所有元素都将受到影响,底层使用数组扩列,生成新的数组,效率较低。
遍历集合:
获得集合内的元素,通过使用ArrayList中的get 方法返回当前索引下标的元素。
注:get方法返回的是一个Object类型,需要使用强制类型转换为需要的对象类型。
for循环遍历下标,索引长度使用size()方法,得到当前集合的元素个数。
加强for循环,遍历完内部所有元素。