当前位置:主页 > java教程 > jdk源码阅读Collection详解

jdk源码阅读Collection实例分析

发布:2019-08-30 17:17:41 208


给网友们整理相关的编程文章,网友尚秋双根据主题投稿了本篇教程内容,涉及到jdk、源码、collection、jdk源码详解、jdk源码阅读、jdk源码阅读Collection详解相关内容,已被360网友关注,涉猎到的知识点内容可以在下方电子书获得。

jdk源码阅读Collection详解

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

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

(一)首先是Collection接口。

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

/** 
 * Collection是所有collection类的根接口; 
 * Collection继承了Iterable,即所有的Collection中的类都能使用foreach方法。 
 * @author WGS 
 * @param <E> 
 */
public interface Collection<E> extends Iterable<E> {
	//返回集合中元素的大小。(如果此大小值超过Integer.MAX_VALUE,就直接返回Integer.MAX_VALUE) 
	int size();
	//判断集合是否为空 
	Boolean isEmpty();
	//判断集合是否包含元素o(注意元素e是否为null及类型是否兼容问题) 
	Boolean contains(Object o);
	//返回集合中元素的迭代器(顺序不能保证,除非集合指定了顺序) 
	Iterator<E> iterator();
	//以数组的形式返回集合中的所有元素,数组是安全 
	Object[] toArray();
	//以数组形式返回指定数组类型的集合元素 
	<T> 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集合教程之Collection实例详解

    Java集合教程之Collection实例详解

    发布:2022-06-15

    给网友们整理关于Collection的教程,集合,或者叫容器,是一个包含多个元素的对象,下面这篇文章主要给大家介绍了关于Java集合教程之Collection的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下


  • Qt读取Json文件的方法详解(含源码+注释)

    发布:2023-03-05

    QT本身就有读取json的接口,简单又方便,下面这篇文章主要给大家介绍了关于Qt读取Json文件(含源码+注释)的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下


  • 伸入分析Java集合之LinkedList源码分析

    发布:2020-02-02

    这篇文章主要为大家详细介绍了Java集合系列之LinkedList源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下


  • 微信小程序实现动态设置页面标题的方法【附源码下载】

    微信小程序实现动态设置页面标题的方法【附源码下载】

    发布:2023-01-10

    给网友们整理关于JavaScript的教程,这篇文章主要介绍了微信小程序实现动态设置页面标题的方法,涉及微信小程序button组件事件绑定及页面元素属性动态设置相关实现技巧,并附带完整源码供读者下载参考,需要的朋友可以参考下


  • MyBatis基础支持DataSource实现源码解析

    发布:2023-04-13

    这篇文章主要为大家介绍了MyBatis基础支持DataSource实现源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


  • 如何使用vue源码解析事件机制

    发布:2020-02-11

    这篇文章主要介绍了vue源码解析之事件机制原理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧


  • 介绍五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】

    发布:2020-01-26

    这篇文章主要介绍了微信小程序五子棋游戏,可实现五子棋的棋盘绘制,重置,对弈判定等功能实现,并附带demo源码供读者下载参考,需要的朋友可以参考下


  • 部署Nacos的源码环境搭建过程

    发布:2023-04-08

    这篇文章主要为大家介绍了部署Nacos的源码环境搭建过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


网友讨论