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