0

O(1) 時間で Deque クラスの途中に要素を挿入する方法はないように思えます。ハッシュテーブルなどの deque 内の特定のノードへの参照を維持したいのですが、このノードを削除する必要がある場合は、その前に移動して prev.next=this.next を設定し、同様に this.next.prev を設定します=prev この現在の要素を削除します。

しかし、私が両端キューを持っている場合

Deque<String> myDeque = new ArrayDeque<String>();
or 
Deque<String> myDeque = new LinkedList<String>();

これらのどれもこれを提供しません。

これに代わるものはありますか?独自の二重リンク リストを実装する必要がある場合、挿入などのコードを書き直す必要がないように、ArrayDeque が既に行っていることを拡張するだけで済む方法はありますか? ...まあ、私が知る限り...私はそうは思いません:(:(

4

2 に答える 2

2

ノードを削除しません。代わりに、Deque から取得するときに、要素のコレクションが削除/無視されることを確認し、必要に応じて破棄します。

于 2013-09-26T12:44:34.027 に答える