返回顶部
  • 发帖数2
  • 粉丝1

此人很懒,什么也没有留下

Java Collection源码分析

[复制链接]
花不败Lv.1 显示全部楼层 发表于 2021-12-23 16:13:17 |阅读模式 打印 上一主题 下一主题
  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、}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

达内教育:成立于2002年。致力于面向IT互联网行业,培养软件开发工程师、测试工程师、系统管理员、智能硬件工程师、UI设计师、网络营销、会计等职场人才 达内使命:缔造年轻人的中国梦、缔造达内员工的中国梦 达内愿景:做管理一流的教育公司
  • 商务合作

  • 微信公众号

  • Powered by Discuz! X3.4 | Copyright © 2002-2021, 达内教育 Tedu.cn
  • 京ICP备08000853号-56 |网站地图 | 京公网安备 11010802029508号