1.ArrayList是一个采用类型参数的泛型类。
2.为了指定数组列表保存的元素对象类型,需要用一对尖括号将类名括起来加在后面。
ArryList s = new ArrayList();//右边尖括号里的参数可以省略
3.使用add方法将元素添加到数组列表中。
s.add(a());
4.数组列表管理着对象引用的一个内部数组。如果调用add且内部数组已经满了,数组列表就将自动的创建一个更大的数组,并将所有的对象从较小的数组中拷贝到较大的数组中。
5.还可以把出事容量传递给ArrayList构造器
ArrayList s = new ArrayList<>(100);
6.size方法将返回数组列表中包含的实际元素数目。
7.一旦能够确认数组的大小不在发生变化,就可以调用trimToSize方法。
8.ArrayList类并不是java程序设计语言的一个部分,它只是一个由某些人编写且被放在标准库中的一个实用类。
9.使用get和set方法实现访问或改变数组元素的操作。
s.set(i,b);//将s中的第i个元素换成b
a c = s.get(i); //返回s中第i个元素,保存在c中
10.使用toArray方法将数组元素拷贝到一个数组中。
a[] n = new a[s.size()];
s.toArray(a);
11.除了在数组列表的尾部追加元素之外,还可以在数组列表的中间插入元素,使用带索引参数的add方法。
int n = s.size()/2;
s.add(n,d);
12.使用remove方法删除元素。
s.remove(n);
实例代码
测试类
import java.util.*;
public class test {
public static void main(String[] args)
{
ArrayList sf = new ArrayList<>();
sf.add(new Employee("w1",1000,1990,1,1));
sf.add(new Employee("w2",1500,1988,1,1));
sf.add(new Employee("w3",2000,1989,1,1));
for(Employee e : sf)
e.raiseSalary(5);
for(Employee e : sf)
System.out.println("name =" + e.getName() + ",salary =" + e.getSalary() + ",hireDay =" +e.getHireDay());
}
}
雇员类
import java.util.Date;
import java.util.GregorianCalendar;
public class Employee {
private String name;
private Date hireDay;
private double salary;
public Employee(String n,double s,int year,int month,int day)
{
name = n;
salary = s;
GregorianCalendar gr = new GregorianCalendar(year,month - 1,day);
hireDay = gr.getTime();
}
public String getName()
{
return name;
}
public double getSalary()
{
return salary;
}
public Date getHireDay()
{
return hireDay;
}
public void raiseSalary(double p)
{
double raise = salary * p / 100;
salary += raise;
}
}