ArrayList介绍
普通的数组一旦确定大小,想要再改变空间大小就不太容易了。
在Java中,解决这个问题最简单的方式是使用Java的ArrayList类。
下面声明和构造一个保存Employee对象的数组列表。
ArrayList<Employee> staff = new ArrayList<Employee>();
在Java SE7中,可以省去右边的类型参数:但是尖括号还是得有
ArrayList<Employee> staff = new ArrayList<>();
size方法可以返回数组列表中包含的实际元素数目:
staff.size()
等价于数组的a.length
ArrayList API
访问数组列表元素
C++ vector重载了[]运算符,由于Java没有运算符重载,所以必须调用显示的方法。
使用get和set方法实现访问或改变数组元素的操作。例如要设置第i个元素使用:
staff.set(i, harry)
只有i小于等于数组列表大小的时候,才能调用list.set(i, x)
使用下列方法获得数组列表元素:
Employee e = staff.get(i)
**
数组列表转化为数组
测试代码
import java.util.ArrayList;
public class ArrayListTest {
public static void main(String[] args){
ArrayList<Employee> staff = new ArrayList<>();
staff.add(new Employee("Carl", 75000, 1987, 12, 15));
staff.add(new Employee("Harry", 50000, 1989, 10, 1));
staff.add(new Employee("Tony", 40000, 1990, 3, 15));
System.out.println("staff size:" + staff.size());
Employee[] a = new Employee[staff.size()];
staff.toArray(a);
for(Employee e : staff)
System.out.println("name = " + e.getName() + "salary = " + e.getSalary());
}
}