範囲 具象不変コレクションクラス 不変スタック 不変キュー 目次
最新版は Scala Documentation に移行しました。

不変キュー

キュー (Queue) はスタックに似ているが、後入れ先出し (LIFO: last in first out) ではなく、先入れ先出し (FIFO: first in first out) だ。

以下に空の不変キューの作り方を示す:

scala> val empty = scala.collection.immutable.Queue[Int]()
empty: scala.collection.immutable.Queue[Int] = Queue()

enqueue を使って不変キューに要素を追加することができる:

scala> val has1 = empty.enqueue(1)
has1: scala.collection.immutable.Queue[Int] = Queue(1)

複数の要素をキューに追加するには、enqueue の引数にコレクションを渡す:

scala> val has123 = has1.enqueue(List(23))
has123: scala.collection.immutable.Queue[Int]
  = Queue(1, 2, 3)

キューの先頭から要素を削除するには、dequeue を使う:

scala> val (element, has23) = has123.dequeue
element: Int = 1
has23: scala.collection.immutable.Queue[Int] = Queue(2, 3)

dequeue は削除された要素と残りのキューのペアを返すことに注意してほしい。

続いては、範囲


範囲 具象不変コレクションクラス 不変スタック 不変キュー 目次