jdk源码阅读集合详解

  

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

  

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

  

(一)首先是收集接口。

  

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

     /* *   *收集是所有收藏类的根接口;   *收集继承了Iterable,即所有的集合中的类都能使用foreach方法。   * @author WGS   * @param & lt; E>   */公共接口Collection扩展Iterable{//返回集合中元素的大小。(如果此大小值超过Integer.MAX_VALUE,就直接返回Integer.MAX_VALUE)   int大小();//判断集合是否为空   布尔isEmpty ();//判断集合是否包含元素o(注意元素e是否为零及类型是否兼容问题)   布尔包含(对象o);//返回集合中元素的迭代器(顺序不能保证,除非集合指定了顺序)   Iteratoriterator ();//以数组的形式返回集合中的所有元素,数组是安全   对象[]toArray ();//以数组形式返回指定数组类型的集合元素   & lt; T>T [] toArray (T []);//此方法可用来判断集合中是否含有元素e;是假,否正确(在设置,地图中会经常调用这个方法,在编程题时很有用)   布尔加(E, E);//从集合中移除指定的元素   逻辑删除对象(o);//用来判断是否含有指定集合中的所以元素   布尔containsAll (Collection<& # 63;比;c);//将指定集合中的所有元素添加至调用者的集合中   布尔addAll (Collection<& # 63;E>延伸;c);//移除与指定集合相同的元素(即移除两集合交集部分)   布尔removeAll (Collection<& # 63;比;c);//保留与指定集合中相同的元素(即移除与指定集合不同的元素)   布尔retainAll (Collection<& # 63;比;c);//清空集合   空白clear ();//判断与指定元素是否相等   布尔=(对象o);//返回集合的哈希码值   int hashCode ();   }      

  

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

jdk源码阅读集合详解