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() | 要素の個数を得る |