一、泛型数组列表
- 首先,java允许在运行时确定数组的大小。
int actualsize=...;
Employee[] staff=new Employee[actualsize];
2.使用java的一个ArrayList的类。
ArraryList<Employee> staff=new ArrayList<>();
定义一个泛型为Employee的数组列表。
使用add方法可以将元素添加到列表中。
staff.add(new Employee("harry hanker",....));
如果调用add且内部数组已经满了,数组列表就会自动创建一个更大的数组,并将所有的对象从较小的数组中拷贝到较大的数组中。
如果已经清楚数组可能存储的元素数量,就可以在填充数组之前调用ensureCapacity方法。
staff.ensureCapacity(100);
另外,还可以把初始容量传递给ArrayList构造器。
ArrayList<Employee> staff=new ArrayList<>(100);
size方法将返回数组列表中包含的实际元素数目
staff.size();
一旦能够确定数组列表的大小不再变化,就调用trimToSize方法,这个方法将存储区域的大小调整为当前元素数量所需空间。垃圾回收器将回收多余的存储空间。
1.2 访问数组列表元素
使用set和get方法实现访问或改变数组元素的操作,而不使用人们喜爱的[ ]语法格式。
staff.set(i,harry); i是下标,从0开始
Employee e=staff.get(i);
或者使用如下的技巧
ArrarList<Employee> list=new ArrarList<>();
while(...)
{
x=....;
list.add(x);
}
Employee[] EE=new Employee[list.size()];
list.toArraryy(EE);
类型化与原始数组列表的兼容性,不需要强制类型转换