FIFO-Warteschlange in Java

Rashmi Patidar 12 Oktober 2023
FIFO-Warteschlange in Java

Eine Warteschlange ist eine lineare Datenstruktur, die das First-in-First-out-Konzept implementiert. Das Konzept bedeutet, dass die Elemente, die zuerst eintreten, als Erste herauskommen.

Die Fachbegriffe zur Darstellung der Queue verwenden das vordere und hintere Ende. Die Elemente werden vom hinteren Ende der Queue hinzugefügt und von vorne entnommen.

Das reale Beispiel des Konzepts ist die Ticketschalterreihe, bei der die Person, die an erster Stelle steht, zuerst das Ticket erhält. In Java wird nun das Konzept bzw. die Datenstruktur in der Queue-Schnittstelle implementiert. Die Schnittstelle ist im Paket java.util vorhanden.

Unten ist der Codeblock, der die Warteschlangenstruktur demonstriert.

package F10;

import java.util.LinkedList;
import java.util.Queue;

public class Main {
  public static void main(String[] args) {
    Queue queue = new LinkedList<String>();
    queue.add("First");
    queue.add("Second");
    queue.add("third");
    System.out.println("Created Queue: " + queue);
    String value = (String) queue.remove();
    System.out.println("The element deleted from the head is: " + value);
    System.out.println("The queue after deletion: " + queue);
    String head = (String) queue.peek();
    System.out.println("The head of the present queue is: " + head);
    int size = queue.size();
    System.out.println("The size of the queue is: " + size);
  }
}

Es gibt verschiedene Möglichkeiten, die Datenstruktur Queue in Java zu implementieren. Im obigen Codeblock setzt die Verwendung von LinkedList das Konzept um.

Zuerst wird eine Queue-Referenz mit dem new LinkedList-Statement instanziiert. In der Schnittstelle Queue ist die Methode add vorhanden, die das angegebene Element in die Queue einfügt. Die Funktion gibt Boolean true zurück, wenn der Wert angehängt wird.

Die Methode kann die IllegalStateException auslösen, wenn das Element aufgrund von Größenbeschränkungen nicht hinzugefügt werden kann. Es wirft auch NullPointerException, wenn der übergebene Wert null ist. Wenn der Anfangssatz von Elementen an die Liste angehängt wird, wird die Warteschlange gedruckt. Die Anweisung System.out.println nimmt den String, der gedruckt werden soll.

Als nächstes wird die Funktion remove über die Instanz Queue aufgerufen. Es entfernt das Element am Kopf der Warteschlange und gibt daher das Kopfelement zurück.

Es gibt eine ähnliche poll-Funktion, die auch das auf dem Kopf vorhandene Element entfernt. Der einzige Unterschied liegt in der Funktion remove, die NoSuchElementException auslöst, wenn die Queue leer ist. Die entfernten Werte werden in einer Variablen gespeichert und gedruckt. Die verbleibende Warteschlange wird gedruckt, um die verbleibenden Elemente zu überprüfen.

Die Funktion peek ruft das oberste Element in der Warteschlange ab und entfernt es nicht; es ist eine Möglichkeit, das Element am Kopf der Warteschlange zu überprüfen. Die Funktion gibt den Head-Wert zurück und wirft NoSuchElementException, wenn die Queue leer ist. Die Funktion size ist im Interface Collection vorhanden und gibt die Grösse der Collection zurück. Diese Methode druckt also die Größe der übrig gebliebenen Elemente in der Warteschlange.

Ausgabe:

Created Queue: [First, Second, third]
The element deleted from the head is: First
The Queue after deletion: [Second, third]
The head of the present Queue is: Second
The size of the Queue is: 2
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

Verwandter Artikel - Java Queue