Queue¶
Eine Queue ist eine Warteschlange in der Werte nach dem FIFO-Prinzip1 verarbeitet werden.
Über die Methoden \Alvine\Types\Queue::isEmpty()
, \Alvine\Types\Queue::peek()
,
\Alvine\Types\Queue::poll()
und \Alvine\Types\Queue::push($object)
wird die Warteschlange
verwaltet.
$queue = new \Alvine\Types\Queue();
$queue->push(new \Alvine\Types\StringType('Value 1'));
$queue->push(new \Alvine\Types\StringType('Value 2'));
$queue->push(new \Alvine\Types\StringType('Value 3'));
while(!$queue->isEmpty()) {
echo $queue->poll()."\n";
}
// → Value 1
// Value 2
// Value 3
Die Methode \Alvine\Types\Queue::peek()
holt den nächsten Wert in der Queue, lässt aber anders als die Methode
\Alvine\Types\Queue::poll()
den Wert in der Queue.
$queue = new \Alvine\Types\Queue();
$queue->push(new \Alvine\Types\StringType('Value 1'));
$queue->push(new \Alvine\Types\StringType('Value 2'));
$queue->push(new \Alvine\Types\StringType('Value 3'));
echo $queue->peek();
echo $queue->peek();
echo $queue->peek();
// → Value 1
// Value 1
// Value 1