欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jdk源码阅读Collection详解

程序员文章站 2023-12-18 10:04:28
见过一句夸张的话,叫做“没有阅读过jdk源码的人不算学过java”。从今天起开始精读源码。而适合精读的源码无非就是java.io,.util和.lang包下的类。 面试题...

见过一句夸张的话,叫做“没有阅读过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详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

上一篇:

下一篇: