scalabook
Queue
Очередь (Queue
) -
это последовательность с FIFO (первым пришёл — первым ушёл).
Элемент добавляется в очередь с помощью метода enqueue
(или enqueueAll
- для добавления коллекции в очередь)
и достается из очереди используя метод dequeue
.
Эти операции выполняются за постоянное время.
Вот как можно создать пустую неизменяемую очередь:
import scala.collection.immutable.Queueval empty = Queue[Int]()// empty: Queue[Int] = Queue()val has1 = empty.enqueue(1)// has1: Queue[Int] = Queue(1)val has123 = has1.enqueueAll(List(2, 3))// has123: Queue[Int] = Queue(1, 2, 3)val (element, has23) = has123.dequeue// element: Int = 1// has23: Queue[Int] = Queue(2, 3)
Обратите внимание, что dequeue
возвращает пару, состоящую из удаленного элемента и остальной части очереди.
Ссылки: