Collection接口
2016-10-21 本文已影响0人
梦想家图图图
java中的java.util.Collection接口是集合的顶级接口,继承了Iterable接口,jdk中并没有直接实现该接口的类,Collection有一系列的子接口继承它:
- List
- Set
我们看下List接口的代码:
public interface List<E> extends Collection<E>
Set的代码
public interface Set<E> extends Collection<E>
Collection子接口的实现类都有两个构造函数:
- 一个是void类型无参的构造函数:用来创建空的集合
- 一个是有一个参数的构造函数,参数用来确定创建的集合参数的类型,后者允许用户拷贝任何集合来生成一个和期待实现类型相等的集合。
当集合在操作的时候修改集合,就会报错UnsupportedOperationException异常。有些集合对其包含的元素有严格的限制,比如有的进制包含null元素,有些对它包含的元素类型有严格的限制。如果要插入一个不合适的元素就会报出NullPointerException或者ClassCastException。Collections Framework 接口中的很多方法是根据 equals
方法定义的。例如,contains(Object o)方法的规范声明:“当且仅当此 collection 包含至少一个满足(o==null ? e==null :o.equals(e))的元素e时,返回true。”