0
0

(java gold) Deque

Posted at

Deque

  • 後に入れたデータを先に取り出す仕組みのLIFO(Last In First Out)を使うためのもの
  • 先に入れたものを先に取り出す仕組みはキュー(Queue)、FIFO(First In First Out)と呼ばれます
  • Dequeの実装クラスは
  1. ArrayDeque: 挿入、削除、取得を両端でしか行わない場合、ArrayDequeのほうが高速に動作
  2. 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() 要素の個数を得る
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0