为了实现一个不可修改的集合,程序员只需要扩展这个类并为iterator和size 方法提供实现。(iterator方法返回的迭代器必须实现hasNext和next。)
为了实现一个可修改的集合,程序员必须另外重写这个类的add方法(否则抛出一个UnsupportedOperationException),迭代器方法返回的迭代器必须另外实现它的remove方法。
Collection 下的大多数子类都继承 AbstractCollection ,比如 List 的实现类, Set的实现类。
AbstractList
List接口的骨架实现,最大限度地减少实现由“随机访问”数据存储(如数组)所支持的接口所需的工作量。
对于顺序访问数据(如链接列表),应该优先使用AbstractSequentialList。
AbstractSequentialList