【问题标题】:why LinkedList does not implements RandomAccess Interface to make the retrieval of elements faster?为什么 LinkedList 不实现 RandomAccess 接口来使元素的检索更快?
【发布时间】:2022-07-25 22:42:20
【问题描述】:

为什么只有 ArrayList 和 Vector 实现了 RandomAccess 接口而 LinkedList 没有实现,因为实现了 RandomAccess 的类可以使集合中元素的检索更快。

另外,如果我尝试创建一个扩展 java.util.LinkedList 并实现 RandomAccess 接口的自定义类,这是否会使自定义类与 LinkedList 一样但使用 RandomAccess? 这是下面的代码,它实现了我在第二点中所说的:


public class ExtendedLinkedList extends java.util.LinkedList implements java.util.RandomAccess {
    
    public static void main(String[] args){
        
        ExtendedLinkedList ell = new ExtendedLinkedList();
        
        System.out.println(ell instanceof java.util.RandomAccess); // True
        System.out.println(ell instanceof java.util.LinkedList); // True
    }
    
}

【问题讨论】:

    标签: java list collections


    【解决方案1】:

    实现RandomAccess 接口不会使随机访问更快。

    确实,它什么都做不了,真的。

    它仅作为标记接口存在:它用于标记列出已经提供高效随机索引访问的实现

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-29
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多