Verwendung von ConcurrentLinkedQueue in Java anhand von Beispielen

In Java spielen Container eine entscheidende Rolle bei der effizienten Speicherung und Organisation der Daten. Die Warteschlange ist ein solcher Container und eine Klasse, die es dem Programmierer ermöglicht, mehrere Vorgänge auf die Warteschlange anzuwenden, z. B. Elemente einzufügen, zu entfernen oder sie zu durchlaufen und mithilfe der in die Warteschlange integrierten Methoden auf die erforderliche Bedingung zu prüfen.

In diesem Tutorial wird die Verwendung der Java-Klasse „ConcurrentLinkedQueue“ erläutert.

Wie verwende ich ConcurrentLinkedQueue in Java anhand von Beispielen?

Der „ConcurrentLinkedQueueDie Klasse ist in der Klasse „ enthalten.java.util.concurrent”-Paket und wird zur Implementierung von Queue mithilfe von LinkedList verwendet. Diese Klasse ist eine Implementierung der Warteschlange, die Elemente am Ende der Warteschlange nach dem FIFO-Prinzip (First-In-First-Out) einfügt.

„ConcurrentLinkedQueue“-Klassenmethoden

MethodeFunktionalität
hinzufügen()Das Zielelement wird am Ende der Warteschlange hinzugefügt.
füge alle Hinzu()Es fügt alle Elemente in der Sammlung am Ende der Warteschlange hinzu bzw. hängt sie an.
für jede()Diese Methode wendet die Zielaktion für jedes Element an.
enthält()Es gibt „true“ zurück, wenn diese Warteschlange das Zielelement enthält.
Iterator()Es ruft einen Iterator über die Elemente in der Warteschlange ab.
ist leer()Es gibt „true“, wenn diese Warteschlange keine Elemente enthält.
Angebot()Das Zielelement wird am Ende der Warteschlange angehängt.
entfernen()Diese Methode entfernt das Zielelement aus der Warteschlange, sofern es enthalten ist.
removeIf()Es entfernt alle Elemente aus der Warteschlange, die die Bedingung erfüllen.
alles entfernen()Es entfernt alle Elemente in der Warteschlange, die in der jeweiligen Sammlung enthalten sind.
keepAll()Es behält nur die Elemente in dieser Warteschlange bei, die in der Zielsammlung enthalten sind.
Splitterator()Diese Methode bietet einen Aufteiler für die Elemente in der Warteschlange.
toArray()Es wird ein Array zurückgegeben, das alle Elemente dieser Warteschlange in der richtigen Reihenfolge enthält.
Größe()Es gibt die Gesamtzahl der Elemente in der Warteschlange an.

Beispiel 1: Verwendung der Klasse „ConcurrentLinkedQueue“ in Java

In diesem Beispiel wird die besprochene Klasse verwendet, um die Elemente über die kombinierte „für„Schleife und die Klasse“Angebot()“ Methode:

import java.util.concurrent.ConcurrentLinkedQueue;
public class Concurrentlinkedqueue {
public static void main(String[] args) {
  ConcurrentLinkedQueue<Integer> x = new ConcurrentLinkedQueue<Integer>();
  for (int i = 1; i <=3; i++) {
  x.add(i);
}
  System.out.println("Queue Before Element's Insertion -> "+x);
  x.offer(4);
  System.out.println("Queue After Element's Insertion -> "+x);
  System.out.println(x.contains(4));
  System.out.println (x.size());
  System.out.println (x.isEmpty());
}}

In diesen Codezeilen:

  • Importieren Sie zunächst das angegebene Paket, um das „ConcurrentLinkedQueue“ Klasse.
  • Erstellen Sie ein ConcurrentLinkedQueue-Objekt mit dem „neu” Schlüsselwort und das „ConcurrentLinkedQueue()“ Konstrukteur.
  • Wenden Sie danach das „für”-Schleife zum Hinzufügen der Ganzzahlen von „1“ bis „3“ in der Warteschlange über die „hinzufügen()“ Methode.
  • Verknüpfen Sie nun die Klasse „Angebot()”-Methode zum Hinzufügen des Zielelements, z. B. „4” am Ende/letzten in der Warteschlange.
  • Geben Sie abschließend die Größe der Warteschlange zurück und prüfen Sie, ob sie leer ist, indem Sie „Größe()“ Und „ist leer()” Methoden bzw.

Ausgabe

Beispiel 2: Anwenden der Klasse „ConcurrentLinkedQueue“ zum Hinzufügen und Entfernen von Elementen zur Warteschlange in Java

In diesem speziellen Beispiel werden die Methoden der angegebenen Klasse verwendet, um die Elemente zur Warteschlange hinzuzufügen und daraus zu entfernen:

import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.*;
public class Concurrentlinkedqueue {
public static void main(String[] args) {
  ConcurrentLinkedQueue<Integer> x = new ConcurrentLinkedQueue<Integer>();
  List<Integer> lt = new ArrayList<Integer>();
  x.add(1);
  x.add(2);
  x.add(3);
  x.add(4);
  lt.add(4);
  lt.add(5);
  System.out.println("Queue Before Elements Removal -> "+x);
  x.remove(4);
  System.out.println("Queue After Elements Removal -> "+x);
  System.out.println("List Elements -> "+lt);
  x.removeAll(lt);
  System.out.println("After removal of Queue elements contained in list -> "+x);
}}

In diesem Code:

  • Fügen Sie ein zusätzliches „java.util.*”-Paket, um Zugriff auf alle Funktionen im Paket „java.util“ zu haben.
  • Erstellen Sie nun ebenfalls ein „ConcurrentLinkedQueue„Klassenobjekt.
  • Erstellen Sie eine ArrayList von „Ganze Zahl“ Typ.
  • Fügen Sie die angegebenen Ganzzahlen sowohl in der Warteschlange als auch in der Liste hinzu, indem Sie „hinzufügen()“ Methode.
  • Entfernen Sie das angegebene Element aus der Warteschlange über den Befehl „entfernen()”-Methode und rufen Sie die Warteschlange ab.
  • Zeigen Sie außerdem die Listenelemente an.
  • Wenden Sie abschließend das „alles entfernen()”-Methode, um alle in der Liste enthaltenen Elemente in der Warteschlange wegzulassen und die resultierende Warteschlange anzuzeigen.

Ausgabe

Abschluss

Der „ConcurrentLinkedQueueDie Klasse ist in der Klasse „ enthalten.java.util.concurrent”-Paket und wird zur Implementierung einer Warteschlange verwendet. Diese Klasse umfasst mehrere Methoden wie „add“, „remove()“, „offer()“ usw. zum Ausführen von Operationen in der Warteschlange. In diesem Blog wird die Verwendung und Implementierung der Java-Klasse „ConcurrentLinkedQueue“ erläutert.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen