Java AbstractSequentialList 详解 - TongtongLan/Java GitHub Wiki
JDK 中仅有一个subclass —— java.util.LinkedList
该类提供了List接口的骨架实现,以最大限度地减少实现由“顺序访问”数据存储(如链接列表)支持的接口所需的工作量。对于随机访问数据(如数组),应该优先使用AbstractList。
这个类与AbstractList类相反,它通过列表的迭代器实现了“随机访问”方法(get(int index),set(int index,E element),add(int index,E element)和remove(int index ))。
要实现一个列表,程序员只需要扩展这个类并为 listIterator 和 size 方法提供实现。对于不可修改的列表,程序员只需要实现列表迭代器的 boolean hasNext(); , E next(); , boolean hasPrevious(); , E previous(); , int previousIndex(); 和 int nextIndex();方法。
对于一个可修改的列表,程序员应该另外实现列表迭代器的 void set(E e); 方法。对于一个可变大小的列表,程序员应该另外实现列表迭代器的void remove(); 和 void add(E e); 方法。
程序员通常应该根据Collection接口规范中的建议提供一个void(无参数)和collection构造函数。