我想知道是否有一个数据结构为两端的插入/从两端到两端的插入/删除提供恒定的工作量(O(1)),例如LinkedList提供的,以及从随机索引的检索,例如HashMap提供的。
或者,也许我可以通过组合数据结构以某种方式实现类似的目标。
最佳答案
看来 ArrayDeque
符合您的所有要求。引用其Javadoc:
大多数ArrayDeque操作均以固定的固定时间运行。
我想知道是否有一个数据结构为两端的插入/从两端到两端的插入/删除提供恒定的工作量(O(1)),例如LinkedList提供的,以及从随机索引的检索,例如HashMap提供的。
或者,也许我可以通过组合数据结构以某种方式实现类似的目标。
最佳答案
看来 ArrayDeque
符合您的所有要求。引用其Javadoc:
大多数ArrayDeque操作均以固定的固定时间运行。