Java Collection源码分析
1、Collection接口是集合继承关系中的根接口(rootinterface),有些集合允许重复元素,有些集合有序,JDK不提供本接口的实现,只提供子接口的实现(例如Set,List)2、所有实现Collection(或者其子接口)的类都必须包含两个构造函数:无参的构造函数,以及参数为Collection的拷贝构造函数
JavaCollection源码如下:
packagejava、util;
10、publicinterfaceCollection<;E>;extendsIterable<;E>;{
11、
12、//返回集合中存在的元素。如果元素的数目超过Integer、MAX_VALUE,返回Integer、MAX_VALUE
13、intsize();
14、
15、//当集合不包含任何元素时,返回true
16、booleanisEmpty();
17、
18、//如果集合中包含至少一个指定对象,返回true
19、booleancontains(Objecto);
20、
21、//返回可以遍历集合元素的迭代器
22、Iterator<;E>;iterator();
23、
24、//返回集合中所有元素组成的数组,数组元素的返回顺序要和迭代器访问集合元素的返回顺序一样
25、Object[]toArray();
26、
27、//返回包含此collection中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同。
28、<;T>;T[]toArray(T[]a);
29、
30、//如果集合不允许重复元素,且集合中已经含有该元素,返回false
31、booleanadd(Ee);
32、
33、//从此collection中移除指定元素的单个实例,如果集合中存在指定元素返回true。
34、booleanremove(Objecto);
35、
36、//如果此collection包含指定collection中的所有元素,则返回true。
37、booleancontainsAll(Collection<;?>;c);
38、
39、//将指定collection中的所有元素都添加到此collection中
40、booleanaddAll(Collection<;?extendsE>;c);
41、
42、//移除此collection中那些也包含在指定collection中的所有元素(可选操作)。
43、booleanremoveAll(Collection<;?>;c);
44、
45、//仅保留此collection中那些也包含在指定collection的元素(可选操作)。
46、booleanretainAll(Collection<;?>;c);
47、
48、//移除此collection中的所有元素(可选操作)。
49、voidclear();
50、
51、//比较此collection与指定对象是否相等。通过覆盖,实现list与list相等,set与set相等
52、booleanequals(Objecto);
53、
54、//返回此collection的哈希码值。
55、inthashCode();
56、}
页:
[1]