一、定义
java API所提供的一系列类的实例,用于在程序中存放对象。容器的API位于java.util包内。
二、类图结构
- Collection和Set List是容器接口(注意接口性质),定义容器对外所能提供的方法。而底层Hash Set、LinkedList、Array List提供实现接口的类。【其实就是代表了三种容器】。其中,这三个容器都是一个一个的往里面装
- Set就是集合,无顺序且不能重复,List有顺序且能重复
- Hash Map是成对往里装 即存储键-值对
三、常用方法
根据JavaAPI,Collection有几个常用方法:
contains
boolean contains(Object o)equals
boolean equals(Object o)hashCode
int hashCode()remove
boolean remove(Object o)iterator
Iterator<E> iterator()
容器类对象在调用remove、contains等方法时需要比较两个对象是否相等,涉及对象类型的equals方法和hashcode方法,其中这个hashcode就相当于索引即地址。自定义类型,就需要重写这两个方法,相等的对象具有相同的hashcode,主要使用在对象当索引(键)的情况
package Container;
import java.util.*;
public class TestContainer {
public static void main(String args[]){
Collection c=new ArrayList();//ArrayList是实现Collection接口的类
//Collection c=new LinkedList();
/*ArrayList c=new ArrayList();
* LinkedList c=new LinkedList(); */
c.add("hello");
c.add(new Name("ff","ku"));
System.out.println(c.size());
System.out.println(c);
System.out.println(c.toString());
}
}