数据结构既提供/从两端插入/移除,又从中间不断的努力中检索?

时间:2014-03-03 12:15:41

标签: java

我想知道是否有一个数据结构为两端的插入/删除提供了持续的努力(O(1)),例如LinkedList提供,以及从随机索引中检索,例如HashMap提供。

或者,如果我可以通过数据结构的组合以某种方式实现类似的东西。

2 个答案:

答案 0 :(得分:3)

似乎ArrayDeque符合您的所有要求。引用它的Javadoc:

  

大多数ArrayDeque操作以分摊的常量时间运行。

答案 1 :(得分:1)

hashmap是我认为最快的数据结构

删除:O(1) 尺寸:O(1) 值:O(n)(在遍历迭代器时)