ArrayList类
泛型数组列表-ArrayList类
在java中,数组的大小是不能改变的,为解决这一问题可使用ArrayList类,它在添加或删除元素时,具有自动调节数组容量的功能,而不需要为此编写任何代码。ArrayList是一个采用类型参数的泛型类,可指定数组列表保存的元素对象类型。声明和构造一个保存Cat对象的数组列表:
ArrayList<Cat>c =new ArrayList<>();(现版本采用第一种)
或ArrayList<Cat>c1 =new ArrayList<Cat>();
如果已经清楚或能够估计出数组可能存储的元素数量,就可以在填充数组之前调用ensureCapacity方法:
c.ensureCapacity(100);
这个方法调用将分配一个包含100个对象的内部数组。然后调用add添加数组元素。另外,还可以把初始容量传递给ArrayList构造器:
ArrayList<Cat>c =new ArrayList<>(100);
注意:
分配数组列表,如下所示:
new ArrayList<>(100); //capacity是100
new Cat[100]; //size是100
数组列表的容量与数组的大小有很大的区别。如果为数组分配100个元素的存储空间,数组就有100个空位置可以使用。而容量为100个元素的数组列表只是拥有保存100个元素的潜力。
size()方法返回数组列表中包含的实际元素的数目:c.size();将返回c数组列表的当前元素数量,等价于数组a.length。
1、添加元素add
add方法为数组添加新的元素。示例:
c.add(new Cat("n1","color1"));
c.add(new Cat("n2","color2"));
向后移动元素,以便插入元素。示例:
c.add(0,new Cat("c","yellow"));
2、set方法
set方法设置数组列表指定位置的元素,这个操作将覆盖这个位置的原有内容。
3、remove
删除一个元素,并将后面的元素向前移动。
4、get
获取指定位置的元素值。
5、 trimToSize
将数组列表的存储容量削减到当前尺寸。
示例:
运行结果:
0
c yellow
n1 color1
nx cx
3
c