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详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
相关文章
解决在Idea 2020.2下使用 Lombok的注解不生效的问题(插件安装了,依赖也写了,自动注解也设置了)
这篇文章主要介绍了在Idea 2020.2下使用 Lombok的注解不生效的问题(插件安装了,依赖也写了,自动注解也设置了),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-08-08Java中JDK14的新特性之JFR,JMC和JFR事件流(推荐)
JFR是一个基于事件的低开销的分析引擎,具有高性能的后端,可以以二进制格式编写事件,而JMC是一个GUI工具,用于检查JFR创建的数据文件。本文给大家介绍Java中JDK14的新特性之JFR,JMC和JFR事件流的相关知识,感兴趣的朋友一起看看吧2020-05-05mybatis报错元素内容必须由格式正确的字符数据或标记组成异常的解决办法
今天小编就为大家分享一篇关于mybatis查询出错解决办法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2018-12-12SpringBoot中的@EnableConfigurationProperties注解详细解析
这篇文章主要介绍了SpringBoot中的@EnableConfigurationProperties注解详细解析,如果一个配置类只配置@ConfigurationProperties注解,而没有使用@Component或者实现了@Component的其他注解,那么在IOC容器中是获取不到properties 配置文件转化的bean,需要的朋友可以参考下2024-01-01
最新评论