容器:
java API 所提供的一系列类的实例,用于在程序中存放对象。
JDK所提供的容器API位于java.util包内。
Collection接口 定义了存取一组对象的方法,其子接口Set和List分别定义了存储方式。
Set中的对象没有顺序且不可以重复。
List中的数据对象有顺序且可以重复。
Map接口定义了存储“键(key)—值(value)映射对”的方法。
int size(); //装的元素的个数
boolean isEmpty(); //是否为空
void clear(); //清空
boolean contains(Object element); //是否包含某一个对象,相当于equals
boolean add (Object element); //添加某一个元素
boolean remove (Object element); //去除某一个元素
Iterator iterator();
boolean containsAll(Collection c); //是否包含另一个集合的所有元素
boolean addAll(Collection c); //添加
boolean removeAll(Collection c); //去除
boolean retainAll(Collection c);
Object [] toArray(); //把每一个元素转化成一个对象类型的数组
举例:
import java.util.*;
publlic class Test {
public static void main(String[] args){
Collection c = new ArrayList(); //父类引用指向子类对象
//可以放入不同类型的对象
c.add("hello"); //添加的是对象而不是基础数据类型
c.add(new Name("f1","f2"));
c.add(new Integer(100));
System.out.println(c.size());
System.out.println(c); //相当于调用了 c.toString 方法
}
}
输出结果:3
[hello, f1 l1, 100]
class Name /*implements Comparable*/{
private String firstName,lastName;
public Name(String firstName,String lastName) {
this.firstName = firstName; this.lastName = lastName;
}
public String getFirstName() { return firstName; }
public String getlastName() { return lastName; }
public String toString() { return firstName + " "+ lastName; }
}
}
注:
两个对象互相equals 则hashcode必相等。