JavaSE进阶

11.2 Collection接口

Collection 层次结构 中的根接口。

常用方法:

1、添加

(1)add(Object obj)

(2)addAll(Collection coll)

 

2、获取有效元素的个数

int size()

 

3、清空集合

void clear();

 

4、是否包含某个元素

(1)boolean contains(Object obj):是通过元素的equals方法来判断是否是同一个对象

 

coll.add("柴林燕");

coll.contains("柴林燕")  true

本质上是拿集合中的元素与”柴林燕”比较,如果存在就会出现"柴林燕".equals("柴林燕")所以返回true,因为String类对equals进行了重写,表示比较的字符串的内容

 

coll.add(new Student("柴林燕"))

coll.contains(new Student("柴林燕")) false

本质上调用new Student("柴林燕").equals(new Student("柴林燕"))

用的是Student类中equals,而这个没有重写equals,用的是父类Object的equals,默认比较的是地址值和“==”等价,所以返回false

 

(2)boolean containsAll(Collection c)也是调用元素的equals方法来比较的。拿两个集合的元素挨个比较。

 

5、是否空集合

 boolean isEmpty()

 

 6、删除

 (1) boolean remove(Object obj) 通过元素的equals方法判断是否是要删除的那个元素

      只会删除找到的第一个元素

    只是把元素从集合删除,内存中还是存在的。

 (2)boolean removeAll(Collection coll)

 

 7、取两个集合的交集

 boolean retainAll(Collection c)

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

 

 8、转成对象数组

 Object[] toArray()