集合框架-Collection接口

Collection接口

这个接口是Collection层次结构中的根。Collection是一组拥有自己元素的对象的描述。一些Collection允许复制元素,一些不允许,还有有序和无序之分。SDK并没有直接提供这个接口的实现:它的实现都是通过它的子接口来实现,例如:list和set。这个接口主要用于传递Collections和应付大量一般性的需求。

Bags和multisets(无序的Collections一般包含有元素的复制)需要直接实现接口。

所有通用的Collection实现类(比较有代表性的就是间接的实现Collection的子接口)需要有两个标准的构造函数:一个是无参返回空类型的构造函数,用来构造空的Collection,另一个是有Collection型参数的构造函数,用来构造与参数完全相同的Collection。后者是为了让用户构造出任意Collection的副本,制造出和想要的实现完全相同的Collection。没有办法坚持这种协定(就像接口中不能包含构造函数)但是所有的Java平台库中的Collection实现都是被允许的。

这个接口中有一个析构方法,那就是,有的方法会修改它所操作的Collection,如果这个Collection不支持该操作就会抛出UnsupportedOperationException异常。如果这些方法是这种情况,但是没有被要求那么做,抛出了UnsupportedOperationException异常,那么祈祷对于Collection是不起任何作用的。例如:在一个无法修改的Collection上调用addAll(Collection)方法,如果添加的Collection是空的话,没被要求就抛出了异常。

一些Collection的实现限制了它所包含的元素。例如:一些实现禁止空的元素,一些实现限制了他们元素的类型。试图添加一个不符合要求的元素会抛出检查不通过的异常,比较有代表性的就是NullPointerException异常和ClassCastException异常。

试图查询一个不合格的元素是否存在也会抛出异常,或者返回假值;一些实现会列出前者,一些会列出后者。通常情况下,试图对一个不合格的元素进行操作也许会抛出异常,也许会成功告终,决定权在于实现。某些异常在文档中为这个接口标有"optional"字样。

这个接口是Java Collections Framework的一个成员。
子接口:
BeanContext, BeanContextServices,
List,
Set,
SortedSet

实现类:
AbstractCollection,
AbstractList,
AbstractSet,
ArrayList, BeanContextServicesSupport,
BeanContextSupport,
HashSet,
LinkedHashSet,
LinkedList,
TreeSet,
Vector
译自:JavaTM 2 Platform, Standard Edition, v 1.4.2 API Specification java.lang.util Interface Collection
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值