java collection接口源码
package java.util; 02. 03./* 04.* 1.Collection接口是集合继承关系中的根接口(root interface),有些集合允许重复元素, 05.* 有些集合有序,JDK不提供本接口的实现,只提供子接口的实现(例如Set,List) 06.* 2.所有实现Collection(或者其子接口)的类都必须包含两个构造函数:无参的构造函数, 07.* 以及参数为Collection的拷贝构造函数 08.* 09.*/ 10.public interface Collection<E> extends Iterable<E> { 11. 12. //返回集合中存在的元素。如果元素的数目超过Integer.MAX_VALUE,返回Integer.MAX_VALUE 13. int size(); 14. 15. //当集合不包含任何元素时,返回true 16. boolean isEmpty(); 17. 18. //如果集合中包含至少一个指定对象,返回true 19. boolean contains(Object o); 20. 21. //返回可以遍历集合元素的迭代器 22. Iterator<E> iterator(); 23. 24. //返回集合中所有元素组成的数组,数组元素的返回顺序要和迭代器访问集合元素的返回顺序一样 25. Object[] toArray(); 26. 27. //返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同。 28. <T> T[] toArray(T[] a); 29. 30. //如果集合不允许重复元素,且集合中已经含有该元素,返回false 31. boolean add(E e); 32. 33. //从此 collection 中移除指定元素的单个实例,如果集合中存在指定元素返回true。 34. boolean remove(Object o); 35. 36. //如果此 collection 包含指定 collection 中的所有元素,则返回 true。 37. boolean containsAll(Collection<?> c); 38. 39. //将指定 collection 中的所有元素都添加到此 collection 中 40. boolean addAll(Collection<? extends E> c); 41. 42. //移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。 43. boolean removeAll(Collection<?> c); 44. 45. //仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。 46. boolean retainAll(Collection<?> c); 47. 48. //移除此 collection 中的所有元素(可选操作)。 49. void clear(); 50. 51. //比较此 collection 与指定对象是否相等。通过覆盖,实现list与list相等,set与set相等 52. boolean equals(Object o); 53. 54. //返回此 collection 的哈希码值。 55. int hashCode(); 56.}