在我看来,没有办法在 O(1) 时间内在 Deque 类的中间某处插入元素。我想在哈希表中维护对双端队列中特定节点的引用,如果我需要删除这个节点,我只需转到它的 prev 并设置 prev.next=this.next 和类似的 this.next.prev =prev 并删除这个当前元素。
但是如果我有一个双端队列
Deque<String> myDeque = new ArrayDeque<String>();
or
Deque<String> myDeque = new LinkedList<String>();
这些都不会提供这个。
有没有替代方案?如果我必须实现自己的双向链表,有没有一种方法可以通过扩展 ArrayDeque 已经完成的功能来消除,这样我就不必重写插入等的代码?...据我所知...我不这么认为 :( :(