所在包
package java.util;
继承Iterable类
public interface Collection<E> extends Iterable<E> {
// 内部代码下面讲解
}
获得集合内元素的数量
当数量大于Integer.MAX_VALUE时候,只能返回Integer.MAX_VALUE
int size();
判断集合是否为空
空的时候返回true
boolean isEmpty();
判断集合是否包含元素 o
包含的时候返回true,否则返回false
当元素类型与集合内元素类型不匹配的时候,抛出ClassCastException 异常
当元素为null,而集合内元素不允许null时候,抛出NullPointerException异常
boolean contains(Object o);
返回一个迭代器
Iterator<E> iterator();
返回包含集合内相同元素的数组
当集合是有序的时候,返回数组也是有序的
Object[] toArray();
利用集合元素更新输入的参数数组,返回更新后的数组
如果数组元素类型不是集合元素中类型的超类,抛出ArrayStoreException异常
数组是null,抛出NullPointerException异常
* @throws ArrayStoreException if the runtime type of the specified array
* is not a supertype of the runtime type of every element in
* this collection
* @throws NullPointerException if the specified array is null
*/
<T> T[] toArray(T[] a);
添加元素
添加成功返回true
add
集合不支持添加元素,抛出UnsupportedOperationException异常
添加元素为null,集合不支持null,抛出NullPointerException异常
如果某些元素的属性可以防止它被添加到这个集合中,抛出IllegalArgumentException异常
如果元素不能被添加在这个时候由于插入的限制,抛出IllegalStateException异常
boolean add(E e);
删除元素o
删除成功返回true
元素类型和集合内元素类型不匹配,抛出ClassCastException异常
元素为null,集合不允许null,抛出NullPointerException异常
集合不允许删除元素,抛出UnsupportedOperationException异常
boolean remove(Object o);
判断集合c中的元素是否都在当前集合中
都在,返回true
类型不匹配,抛出ClassCastException异常
集合c元素有null,当前集合不允许null,抛出NullPointerException异常
boolean containsAll(Collection<?> c);
集合c中的元素全部添加到当前集合中
添加成功,返回true
不支持添加,抛出UnsupportedOperationException异常
类型不匹配,抛出ClassCastException异常
集合c有null,当前集合不允许null,抛出NullPointerException异常
某些元素属性不允许添加集合c,抛出IllegalArgumentException异常
不可以插入所有元素,抛出IllegalStateException异常
boolean removeAll(Collection<?> c);
保留两个集合共有的元素
不支持操作,抛出UnsupportedOperationException异常
类型不一样,抛出ClassCastException异常
null的问题,抛出NullPointerException异常
boolean retainAll(Collection<?> c);
清空元素
不支持操作,抛出UnsupportedOperationException异常
void clear();
判断是否相等
boolean equals(Object o);
获取hashcode
int hashCode();