package java.util;
/*
* 1.Collection接口是集合继承关系中的根接口(root interface),有些集合允许重复元素,
* 有些集合有序,JDK不提供本接口的实现,只提供子接口的实现(例如Set,List)
* 2.所有实现Collection(或者其子接口)的类都必须包含两个构造函数:无参的构造函数,
* 以及参数为Collection的拷贝构造函数
*
*/
public interface Collection extends Iterable {
//返回集合中存在的元素。如果元素的数目超过Integer.MAX_VALUE,返回Integer.MAX_VALUE
int size();
//当集合不包含任何元素时,返回true
boolean isEmpty();
//如果集合中包含至少一个指定对象,返回true
boolean contains(Object o);
//返回可以遍历集合元素的迭代器
Iterator iterator();
//返回集合中所有元素组成的数组,数组元素的返回顺序要和迭代器访问集合元素的返回顺序一样
Object[] toArray();
//返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同。
T[] toArray(T[] a);
//如果集合不允许重复元素,且集合中已经含有该元素,返回false
boolean add(E e);
//从此 collection 中移除指定元素的单个实例,如果集合中存在指定元素返回true。
boolean remove(Object o);
//如果此 collection 包含指定 collection 中的所有元素,则返回 true。
boolean containsAll(Collection> c);
//将指定 collection 中的所有元素都添加到此 collection 中
boolean addAll(Collection extends E> c);
//移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。
boolean removeAll(Collection> c);
//仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。
boolean retainAll(Collection> c);
//移除此 collection 中的所有元素(可选操作)。
void clear();
//比较此 collection 与指定对象是否相等。通过覆盖,实现list与list相等,set与set相等
boolean equals(Object o);
//返回此 collection 的哈希码值。
int hashCode();
}