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

不変なキュー

キュー(Queue)は後入れ先出しではなく先入れ先出しである点を除いてスタックと同じです。 次のようにすると空の不変なキューを作成できます:

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が削除された要素とキューの残りのペアを返している点に注意してください。

続いては: 範囲


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