Java util collection_JDK源码(1.7) -- java.util.Collection<E>

java.util.Collection 源码分析(JDK1.7)

---------------------------------------------------------------------------------

java.util.Collection是一个接口,它的定义如下:

1 public interface Collection extends Iterable{2 //Query Operations3 //Modification Operations4 //Bulk Operations5 //Comparison and hashing

6 }

(1)从定义中可以看出Collection接口中定义了:查询方法、修改方法、批量操作方法、哈希和比较方法。

(2)Collection是一个根接口,表示一组对象,这些对象也称为collection的元素。

(3)Collection的实现类中有这样的特征: 有些collection是允许重复元素的;有些collection是不允许重复元素的;有些collection是有序的;有些collection是无序的。

(4)JDK不提供对Collection接口的直接实现,而且提供了两个更为具体的接口去实现(如:java.util.List和java.util.Set)

----------------------------------------------------------------------------------

下面来看看java.util.Collection中具体有哪些方法:

从下面的表格中可以看出java.util.Collection接口中一共有15个方法,其中查询操作6个;修改操作2个;批量操作5个;比较和哈希操作2个。

查询操作

int size()

返回此 collection 中的元素数。如果此 collection 包含的元素大于 Integer.MAX_VALUE,则返回 Integer.MAX_VALUE。

boolean isEmpty()

如果此 collection 不包含元素,则返回 true,否则返回false

boolean contains(Object o)

如果此 collection 包含指定的元素,则返回 true。更确切地讲,当且仅当此 collection 至少包含一个满足 (o==null ? e==null : o.equals(e)) 的元素 e 时,返回 true。

Iterator iterator()

返回在此 collection 的元素上进行迭代的迭代器。关于元素返回的顺序没有任何保证(除非此 collection 是某个能提供保证顺序的类实例)。

Object[] toArray()

返回包含此 collection 中所有元素的数组。如果 collection 对其迭代器返回的元素顺序做出了某些保证,那么此方法必须以相同的顺序返回这些元素。

T[] toArray(T[] a)

返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同。如果指定的数组能容纳该 collection,则返回包含此 collection 元素的数组。否则,将分配一个具有指定数组的运行时类型和此 collection 大小的新数组。

修改操作

boolean add(E e)

将元素e添加到此集合中,如果添加成功则返回true,添加失败则返回false

boolean remove(Object o)

从此 collection 中移除指定元素o的单个实例,如果操作成功则返回true,操作失败则返回false

批量操作

boolean containsAll(Collection> c )

如果此 collection 包含指定 collection 中的所有元素,则返回 true。

addAll(Collection extends E> c)

将指定 collection 中的所有元素都添加到此 collection 中.

boolean removeAll(Collection> c)

移除此 collection 中那些也包含在指定 collection 中的所有元素。

boolean retainAll(Collection> c)

仅保留此 collection 中那些也包含在指定 collection 的元素。

void  clear()

移除此 collection 中的所有元素。

比较和哈希操作

boolean equals(Object o)

比较此 collection 与指定对象是否相等

int hashCode()

返回此 collection 的哈希码值

----------------------------------------------------------------------------------

java.util.Collection源码如下:(看看下面的源码,定义的很规范,各种操作都有-----> 此时应该想到它的实现类该有多可怜,要实现多少方法呀。~_~)

1 packagejava.util;2

3

4 public interface Collection extends Iterable{5 //Query Operations

6

7 intsize();8

9 booleanisEmpty();10

11 booleancontains(Object o);12

13 Iteratoriterator();14

15 Object[] toArray();16

17 T[] toArray(T[] a);18

19 //Modification Operations

20

21 booleanadd(E e);22

23 booleanremove(Object o);24

25

26 //Bulk Operations

27

28 boolean containsAll(Collection>c);29

30 boolean addAll(Collection extends E>c);31

32 boolean removeAll(Collection>c);33

34 boolean retainAll(Collection>c);35

36 voidclear();37

38

39 //Comparison and hashing

40

41 booleanequals(Object o);42

43 inthashCode();44 }

----------------------------------------------------------------------------------

----------------------------------------------------------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值