无需指定数组大小;
用add增添任意多的元素;
用size()代替length来统计元素的个数;
用(Employee)a.get[i]代替a[i]来访问一个元素。
例:
/**
@version 1.00 2000-04-30
@author Cay Horstmann
*/
import java.util.*;
public class ArrayListTest
{
public static void main(String[] args)
{
// fill the staff array list with three Employee objects
ArrayList staff = new ArrayList();
staff.add(new Employee("Carl Cracker", 75000,
1987, 12, 15));
staff.add(new Employee("Harry Hacker", 50000,
1989, 10, 1));
staff.add(new Employee("Tony Tester", 40000,
1990, 3, 15));
// raise everyone's salary by 5%
for (int i = 0; i < staff.size(); i++)
{
Employee e = (Employee)staff.get(i);
e.raiseSalary(5);
}
// print out information about all Employee objects
for (int i = 0; i < staff.size(); i++)
{
Employee e = (Employee)staff.get(i);
System.out.println("name=" + e.getName()
+ ",salary=" + e.getSalary()
+ ",hireDay=" + e.getHireDay());
}
}
}
class Employee
{
public Employee(String n, double s,
int year, int month, int day)
{
name = n;
salary = s;
GregorianCalendar calendar
= new GregorianCalendar(year, month - 1, day);
// GregorianCalendar uses 0 for January
hireDay = calendar.getTime();
}
public String getName()
{
return name;
}
public double getSalary()
{
return salary;
}
public Date getHireDay()
{
return hireDay;
}
public void raiseSalary(double byPercent)
{
double raise = salary * byPercent / 100;
salary += raise;
}
private String name;
private double salary;
private Date hireDay;
}
API java.util.ArrayList
void add( int index, Object obj )
移动元素然后插入新元素。
参数:index 插入位置(必须介于0到size()之间)
obj 新元素
void remove( int index )
删除指定位置元素然后把其后面元素往前挪动一个位置。
参数:index删除元素的位置(必须介于0到size()-1之间)