Java 为什么ArrayList RandomAccess而ArrayQue不是?

Java 为什么ArrayList RandomAccess而ArrayQue不是?,java,arrays,arraylist,deque,Java,Arrays,Arraylist,Deque,我们知道这是一个标记接口,文档中说: 列表实现使用的标记接口,用于指示它们支持快速(通常为常数时间)随机访问。此接口的主要目的是允许通用算法在应用于随机或顺序访问列表时改变其行为,以提供良好的性能 因此,ArrayList实现了RandomAccess接口,因为内部元素存储在数组中,可以随机访问。但是,如果您将看到它的内部实现,它还将元素存储在数组中,但它不实现随机访问,它是有意的还是出于某种我不知道的明确原因而进行的?RandomAccess由List实现使用,表示它们支持快速随机访问 Arr

我们知道这是一个标记接口,文档中说:

列表实现使用的标记接口,用于指示它们支持快速(通常为常数时间)随机访问。此接口的主要目的是允许通用算法在应用于随机或顺序访问列表时改变其行为,以提供良好的性能


因此,
ArrayList
实现了
RandomAccess
接口,因为内部元素存储在数组中,可以随机访问。但是,如果您将看到它的内部实现,它还将元素存储在数组中,但它不实现
随机访问
,它是有意的还是出于某种我不知道的明确原因而进行的?

RandomAccess
List
实现使用,表示它们支持快速随机访问

ArrayDeque
不是一个
列表,也没有任何随机访问方法(没有基于索引的
add
get
remove
set
方法),因此将其设为
随机访问是没有意义的


底层结构可能是随机访问,但类不允许随机访问。

这回答了我的问题。谢谢