gpt4 book ai didi

java - 为什么 LinkedList 和 arraylist 在 java 中扩展 AbstractList?

转载 作者:搜寻专家 更新时间:2023-10-30 21:20:34 24 4
gpt4 key购买 nike

为什么 LinkedListArrayListJava 中扩展 AbstractList

当我们想在实现类中指定一个公共(public)行为时,使用抽象类。

但是 AbstractList 中的所有方法都被 ArrayListLinkedList 覆盖了。

那么扩展这个类有什么用呢?

最佳答案

<a href="https://docs.oracle.com/javase/7/docs/api/java/util/AbstractList.html#subList(int,%20int)" rel="noreferrer noopener nofollow">subList(int,int)</a> 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()<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/AbstractList.html#iterator%28%29" rel="noreferrer noopener nofollow">iterator()</a>

关于java - 为什么 LinkedList 和 arraylist 在 java 中扩展 AbstractList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18395005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com