jdk源码阅读Collection详解

 更新时间:2017年12月29日 11:28:30   作者:nomico271  
这篇文章主要介绍了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详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

  • Spring mvc结果跳转方法详解

    Spring mvc结果跳转方法详解

    这篇文章主要介绍了Spring mvc结果跳转方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Spring Boot 配置随机数的技巧代码详解

    Spring Boot 配置随机数的技巧代码详解

    这篇文章主要介绍了Spring Boot 配置随机数技巧,spring boot 支持在系统加载的时候配置随机数,具体实例代码大家参考下本文
    2018-05-05
  • 基于java servlet过滤器和监听器(详解)

    基于java servlet过滤器和监听器(详解)

    下面小编就为大家带来一篇基于java servlet过滤器和监听器(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Struts2拦截器Interceptor的原理与配置实例详解

    Struts2拦截器Interceptor的原理与配置实例详解

    拦截器是一种AOP(面向切面编程)思想的编程方式.它提供一种机制是开发者能够把相对独立的代码抽离出来,配置到Action前后执行。下面这篇文章主要给大家介绍了关于Struts2拦截器Interceptor的原理与配置的相关资料,需要的朋友可以参考下。
    2017-11-11
  • Java实现文件上传与文件下载的示例代码

    Java实现文件上传与文件下载的示例代码

    在开发中项目难免会遇到文件上传和下载的情况,这篇文章主要为大家详细介绍了Java中实现文件上传与文件下载的示例代码,希望对大家有所帮助
    2023-07-07
  • java的nio的使用示例分享

    java的nio的使用示例分享

    这篇教程展示了5个在Java编程的一些常见场景里使用NIO和NIO.2包的简单示例,需要的朋友可以参考下
    2014-03-03
  • java 图片验证码的实现代码

    java 图片验证码的实现代码

    java 图片验证码的实现代码,需要的朋友可以参考一下
    2013-05-05
  • Mybatis-Plus的使用详解

    Mybatis-Plus的使用详解

    这篇文章主要介绍了Mybatis-Plus的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • SpringBoot+Mybatis-plus+shardingsphere实现分库分表的方案

    SpringBoot+Mybatis-plus+shardingsphere实现分库分表的方案

    实现亿级数据量分库分表的项目是一个挑战性很高的任务,下面是一个基于Spring Boot的简单实现方案,感兴趣的朋友一起看看吧
    2024-03-03
  • Java实现Excel导出并添加水印

    Java实现Excel导出并添加水印

    这篇文章主要为大家详细介绍了Java如何使用poi-ooxml包导出xlsx添加水印,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-11-11

最新评论