jdk源码阅读Collection详解

见过一句夸张的话,叫做“没有阅读过jdk源码的人不算学过java”。从今天起开始精读源码。而适合精读的源码无非就是java.io,.util和.lang包下的类。

面试题中对于集合的考察还是比较多的,所以我就先从集合的源码开始看起。

(一)首先是Collection接口。

Collection是所有collection类的根接口;Collection继承了Iterable,即所有的Collection中的类都能使用foreach方法。

/**

* Collection是所有collection类的根接口;

* Collection继承了Iterable,即所有的Collection中的类都能使用foreach方法。

* @author WGS

* @param

*/

public interface Collection extends Iterable {

//返回集合中元素的大小。(如果此大小值超过Integer.MAX_VALUE,就直接返回Integer.MAX_VALUE)

int size();

//判断集合是否为空

Boolean isEmpty();

//判断集合是否包含元素o(注意元素e是否为null及类型是否兼容问题)

Boolean contains(Object o);

//返回集合中元素的迭代器(顺序不能保证,除非集合指定了顺序)

Iterator iterator();

//以数组的形式返回集合中的所有元素,数组是安全

Object[] toArray();

//以数组形式返回指定数组类型的集合元素

T[] toArray(T[] a);

//此方法可用来判断集合中是否含有元素e;是-false,否-true(在set,map中会经常调用这个方法,在编程题时很有用)

Boolean add(E e);

//从集合中移除指定的元素

Boolean remove(Object o);

//用来判断是否含有指定集合中的所以元素

Boolean containsAll(Collection> c);

//将指定集合中的所有元素添加至调用者的集合中

Boolean addAll(Collection extends E> c);

//移除与指定集合相同的元素(即移除两集合交集部分)

Boolean removeAll(Collection> c);

//保留与指定集合中相同的元素(即移除与指定集合不同的元素)

Boolean retainAll(Collection> c);

//清空集合

void clear();

//判断与指定元素是否相等

Boolean equals(Object o);

//返回集合的哈希码值

int hashCode();

}

总结

以上就是本文关于jdk源码阅读Collection详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

java collection源码_jdk源码阅读Collection实例分析相关推荐

  1. java list用法_Java List 用法详解及实例分析

    Java List 用法详解及实例分析 Java中可变数组的原理就是不断的创建新的数组,将原数组加到新的数组中,下文对Java List用法做了详解. List:元素是有序的(怎么存的就怎么取出来,顺 ...

  2. java jdk 类加载机制_JDK源码阅读之类加载

    java类加载 类的生命周期(类加载过程) LLIUU+VPR 加载(Loading) 链接(Linking) 验证(Verification) 准备(Preparation) 解析(Resoluti ...

  3. java调试jdk源码_JDK源码调试

    一.问题阐述 首先我们要明白JDK source为什么在debug的时候无法观察局部变量,因为在jdk中,sun对rt.jar中的类编译时,去除了调试信息,这样在eclipse中就不能看到局部变量的值 ...

  4. java 字符界面 curses_Linux终端图形库 Curses简介和实例分析

    随着电脑知识的普及, 越来越多的电脑爱好者开始了解和使用Linux..Linux的轻松自由之风给了我们不同的感受.但是我们不能满足于基本的命令和KDE, Gnome等用户界面的操作. 我们要干什么? ...

  5. java责任链设计模式 订单_Java责任链设计模式实例分析

    本文实例讲述了Java责任链设计模式.分享给大家供大家参考,具体如下: 一 代码 abstract class AbstractHandler { private Handler Handler = ...

  6. java aes pbe_JAVA对称加密算法PBE定义与用法实例分析

    本文实例讲述了JAVA对称加密算法PBE定义与用法.分享给大家供大家参考,具体如下: 一 AES.DES和3DES在使用上比较一致 二 PBE算法优点 三 PBE介绍 1.PBE:Password B ...

  7. java中多态案例工厂类,Java中构造器内部的多态方法的行为实例分析

    本文实例讲述了Java中构造器内部的多态方法的行为操作.分享给大家供大家参考,具体如下: 这篇文章主要讨论的是,若在一个构造器中调用正在构造的对象的某个动态绑定的方法时会出现的情况.在此之前,我们需要 ...

  8. java 中文 正则_Java正则匹配中文的方法实例分析

    本文实例讲述了Java正则匹配中文的方法.分享给大家供大家参考,具体如下: 1.匹配双引号间内容: public void test1() { // 匹配双引号间内容 String pstr = &q ...

  9. java抽象类接口举例代码_Java接口和抽象类实例分析

    本文实例讲述了Java的接口和抽象类.分享给大家供大家参考.具体分析如下: 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相 ...

最新文章

  1. 详解语句srcImage(cv::Rect(xRoi,yRoi,widthRoi,heightRoi)).copyTo(roiImage);
  2. 童国华正式执掌大唐电信集团
  3. 关于MonoDevelop自动缩进的设置
  4. linux 安装apache http server
  5. 【牛客NOIP模拟】路径难题【建图】【最短路证明】
  6. java安全级别过高_Java应该是更高级别还是更低级别?
  7. word公式插件_再也不用担心我的公式写不出来了:一款公式输入神器实测
  8. 50张动图带你走进神奇的物理生物化学世界,超震撼!
  9. Chrome DevTools的Network面板
  10. Html中锚点的使用【转】
  11. 生物信息学软件_高通量测序技术|生信的发展,常用数据格式及分析软件
  12. python爬虫下载付费音乐包有什么用_听歌音乐还要我付费?看我用Python批量下载!...
  13. 【大数据时代】前端数据可视化利器D3.js、highcharts、echarts(毕设调研)
  14. 特征工程:归一化与标准化
  15. 计算机二级word邀请函制作步骤,利用邮件合并制作邀请函(2)
  16. 将12小时制改为24小时制
  17. (侯捷C++)1.2面向对象高级编程(上)
  18. 《海边的卡夫卡》摘抄
  19. python小玩意——星座表程序
  20. 【Nav2中文网】四、首次机器人安装指南(六)设置导航插件

热门文章

  1. Vue + Spring Boot 学习笔记01:实现用户登录功能
  2. Python案例:两种方法实现词频统计
  3. 【BZOJ1057】【codevs1428】棋盘制作,悬线法
  4. 【BZOJ2594】水管局长加强版,LCT+并查集+二分查找位置
  5. 网络计算机热词,2017年的首个网络热词就这样被刷屏了!
  6. bzoj1225 [HNOI2001] 求正整数 约数个数定理+对数
  7. linux ext3 大文件,Linux下Ext2与Ext3文件系统
  8. 【英语学习】【WOTD】countermand 释义/词源/示例
  9. ubuntu系统DD对拷还原报废笔记本
  10. mysql statistics cpu_(2条消息) Mysql占用CPU过高如何优化,如何解决