Java-Collection接口
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]);
}
}