为什么LinkedList
和ArrayList
在Java中扩展了AbstractList
?
当我们要在实现类中指定常见行为时,将使用抽象类。
但是AbstractList
和ArrayList
覆盖了LinkedList
中的所有方法。
那么扩展此类的用途是什么?
最佳答案
subList(int,int)
和ArrayList
都不能覆盖LinkedList
方法,为此AbstractList
提供了一个通用实现
从Java来源
public List<E> subList(int fromIndex, int toIndex) {
return (this instanceof RandomAccess ?
new RandomAccessSubList<E>(this, fromIndex, toIndex) :
new SubList<E>(this, fromIndex, toIndex));
}
此外,还有其他未覆盖的方法,例如
toString()
和iterator()