Deque
- 後に入れたデータを先に取り出す仕組みのLIFO(Last In First Out)を使うためのもの
- 先に入れたものを先に取り出す仕組みはキュー(Queue)、FIFO(First In First Out)と呼ばれます
- Dequeの実装クラスは
-
ArrayDeque
: 挿入、削除、取得を両端でしか行わない場合、ArrayDequeのほうが高速に動作 -
LinkedList
: 配列の中間にアクセスする場合(containsやindexOfなど)は、LinkedListのほうが速い
追加
メソッド名 | 概要 |
---|---|
queue.addFirst(o) | oをデックの先頭に追加する(エラー時は例外を返す) |
queue.addLast(o) | oをデックの最後に追加する(エラー時は例外を返す) |
queue.offerFirst(o) | oをデックの先頭に追加する(エラー時はfalseを返す) |
queue.offerLast(o) | oをデックの最後に追加する(エラー時はfalseを返す) |
削除
メソッド名 | 概要 |
---|---|
queue.removeFirst() | デックの先頭の値を取り出して削除する(エラー時は例外を返す) |
queue.removeLast() | デックの最後の値を取り出して削除する(エラー時は例外を返す) |
queue.pollFirst() | デックの最初の値を取り出して削除する(エラー時はnullを返す) |
queue.removeFirstOccurrence(o) | デックから最初に現れるoを削除する。見つからなければfalseを返す。 |
queue.removeLastOccurrence(o) | デックから最後に現れるoを削除する。見つからなければfalseを返す。 |
取得
メソッド名 | 概要 |
---|---|
queue.getFirst() | デックの最初の値を取り出す。削除しない(エラー時は例外を返す) |
queue.getLast() | デックの最後の値を取り出す。削除しない(エラー時は例外を返す) |
queue.peekFirst() | デックの最初の値を取り出す。削除しない(エラー時はnullを返す) |
queue.peekLast() | デックの最後の値を取り出す。削除しない(エラー時はnullを返す) |
要素数の取得
メソッド名 | 概要 |
---|---|
queue.size() | 要素の個数を得る |