我正在研究一种算法,它将一小部分对象存储为一大组对象的子列表。对象本质上是有序的,因此需要一个有序列表。
执行的最常见操作将按频率顺序排列:
- 从列表中检索第 n 个元素(对于一些任意 n)
- 在列表的开头或结尾插入一个
- 从列表中删除第一个或最后一个 n 元素(对于一些任意 n)
从中间删除和插入永远不会完成,因此无需考虑其效率。
我的问题是,对于 Java 中的这个用例(即 LinkedList、ArrayList、Vector 等),List 的哪种实现最有效?请通过解释不同数据结构的实现来捍卫您的答案,以便我做出明智的决定。
谢谢。
笔记
不,这不是作业问题。不,我没有可以为我做这项工作的军队研究助理。