サーチ…


前書き

Dequeは、両端で要素の挿入と削除をサポートする線形コレクションです。

デューク名は「ダブルエンドキュー」の略で、通常「デッキ」と発音されます。

大部分のDeque実装では、要素の数に固定の制限はありませんが、このインターフェイスは容量制限のあるデクをサポートしていますが、サイズ制限が固定されていないものもサポートしています。

Dequeインタフェースは、StackとQueueの両方よりも豊富な抽象データ型です。これは、スタックとキューの両方を同時に実装するためです。

備考

ジェネリックはDequeで使用できます。

Deque<Object> deque = new LinkedList<Object>();

デキューをキューとして使用すると、FIFO(先入れ先出し)の動作が発生します。

Dequesは、LIFO(Last-In-First-Out)スタックとしても使用できます。

メソッドの詳細については、 このドキュメントを参照してください。

Dequeに要素を追加する

Deque deque = new LinkedList();

//Adding element at tail
deque.add("Item1");

//Adding element at head 
deque.addFirst("Item2");

//Adding element at tail 
deque.addLast("Item3");

Dequeからの要素の削除

//Retrieves and removes the head of the queue represented by this deque
Object headItem = deque.remove();

//Retrieves and removes the first element of this deque.
Object firstItem = deque.removeFirst();

//Retrieves and removes the last element of this deque.
Object lastItem = deque.removeLast();

削除せずに要素を取得する

//Retrieves, but does not remove, the head of the queue represented by this deque
Object headItem = deque.element();

//Retrieves, but does not remove, the first element of this deque.
Object firstItem = deque.getFirst();

//Retrieves, but does not remove, the last element of this deque.    
Object lastItem  = deque.getLast();

Dequeを反復する

//Using Iterator
Iterator iterator = deque.iterator();
while(iterator.hasNext(){
  String Item = (String) iterator.next();
}

//Using For Loop
for(Object object : deque) {
    String Item = (String) object;
}


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow