Collection接口是List、Set和Queue接口的父接口,该接口里定义的方法既可用于操作Set集合,也可用于操作List和Queue集合。

JDK不提供此接口的任何直接实现,而是提供更具体的子接口(如:Set和List)实现。

在Java5之前,Java集合会丢失容器中所有对象的数据类型,把所有对象都当成Object类型处理;从JDK5.0增加了泛型以后,Java集合可以记住容器中对象的数据类型。

接口方法

方法

描述

add(Object obj) addAll(Collection coll)

添加

int size()

获取有效元素的个数

void clear()

清空集合

boolean isEmpty()

是否是空集合

boolean contain(Object obj) boolean containAll(Collection coll)

通过元素的equals()方法来判断是否是同一个对象; 通过元素的equals()方法来判断是否是同一个集合

boolean remove(Object obj) boolean removeAll(Collection coll)

通过元素的equals()方法判断是否是要删除的元素(只会找到第一个匹配的元素)

boolean retainAll(Collection c)

取两个集合的交集,把交集的结果存在当前集合中,不影响c

boolean equals(Object obj)

集合是否相等

Object[] toArray()

转成对象数组

hashCode()

获取集合对象的哈希值

iterator()

返回迭代器对象,用于集合遍历

示例代码

@Test
public void test1(){
    Collection coll = new ArrayList();

    //add(e):将元素e添加到集合中
    coll.add("AA");
    coll.add("BB");
    coll.add(11);
    coll.add(22);
    coll.add(new Person("Tom", 20));

    //size():获取添加元素的个数
    System.out.println(coll.size());


    Collection coll1 = new ArrayList();
    coll1.add("AA");
    coll1.add("CC");

    //addAll():将其他集合(coll1)全部添加到当前集合(coll)中
    coll.addAll(coll1);
    System.out.println(coll);


    //isEmpty():判断集合是否为空
    boolean empty = coll.isEmpty();
    System.out.println(empty);

    //clear():清空集合
    coll.clear();

    //contains(obj):判断当前集合中是否包含obj。判断时,调用obj对象所在类的equals()方法
    boolean contains = coll.contains("AA");
    System.out.println(contains);
    boolean tom = coll.contains(new Person("Tom", 20));
    System.out.println(tom);

    //containsAll(coll1):判断coll1中的所有元素是否都存在与当前集合中
    coll.containsAll(coll1);

    //remove():移除某个元素
    boolean remove = coll.remove(22);
    System.out.println(remove);

    //removeAll(c):取当前集合的差集
    coll.removeAll(coll1);

    //retainAll(c):求集合的交集,结果存在当前集合中,不影响集合c
    coll.retainAll(coll1);
    System.out.println(coll);
    System.out.println(coll1);

    //equals(c):判断集合是否相等
    boolean equals = coll.equals(coll1);
    System.out.println(equals);

    //hashCode():哈希值
    System.out.println(coll.hashCode());

    //toArray():集合-->数组
    Object[] arr = coll.toArray();
    for (int i = 0; i < arr.length; i++) {
        System.out.println(arr[i]);
    }
}