Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java-wachtrij-interface

Java wachtrij-interface

In deze zelfstudie leren we over de Java Queue-interface en zijn methoden.

De Queue interface van het Java-verzamelingsframework biedt de functionaliteit van de wachtrijgegevensstructuur. Het verlengt de Collection interface.


Klassen die wachtrij implementeren

Sinds de Queue is een interface, kunnen we de directe implementatie ervan niet bieden.

Om de functionaliteiten van Queue . te gebruiken , we moeten klassen gebruiken die het implementeren:

  • ArrayDeque
  • LinkedList
  • Prioriteitswachtrij


Interfaces die de wachtrij verlengen

De Queue interface is ook uitgebreid met verschillende subinterfaces:

  • Deque
  • BlockingQueue
  • BlockingDeque


Werking van wachtrijgegevensstructuur

In wachtrijen worden elementen opgeslagen en geopend in First In, First Out manier. Dat wil zeggen, elementen worden van achteren toegevoegd en van de voorkant verwijderd .


Hoe wachtrij gebruiken?

In Java moeten we java.util.Queue . importeren pakket om Queue . te gebruiken .


// LinkedList implementation of Queue
Queue<String> animal1 = new LinkedList<>();

// Array implementation of Queue
Queue<String> animal2 = new ArrayDeque<>();

// Priority Queue implementation of Queue
Queue<String> animal 3 = new PriorityQueue<>();

Hier hebben we objecten animal1 . gemaakt , dier2 en dier3 klassen LinkedList , ArrayDeque en PriorityQueue respectievelijk. Deze objecten kunnen gebruik maken van de functionaliteiten van de Queue interface.


Methoden van wachtrij

De Queue interface bevat alle methoden van de Collection koppel. Het is omdat Collection is de superinterface van Queue .

Enkele veelgebruikte methoden van de Queue interface zijn:

  • add() - Voegt het opgegeven element in de wachtrij in. Als de taak succesvol is, add() retourneert true , zo niet, dan wordt er een uitzondering gegenereerd.
  • aanbieden() - Voegt het opgegeven element in de wachtrij in. Als de taak is gelukt, offer() retourneert true , zo niet, dan retourneert het false .
  • element() - Retourneert de kop van de wachtrij. Gooit een uitzondering als de wachtrij leeg is.
  • peek() - Retourneert de kop van de wachtrij. Retourneert null als de wachtrij leeg is.
  • verwijder() - Retourneert en verwijdert de kop van de wachtrij. Gooit een uitzondering als de wachtrij leeg is.
  • poll() - Retourneert en verwijdert de kop van de wachtrij. Retourneert null als de wachtrij leeg is.

Implementatie van de wachtrij-interface

1. De LinkedList-klasse implementeren

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

class Main {

    public static void main(String[] args) {
        // Creating Queue using the LinkedList class
        Queue<Integer> numbers = new LinkedList<>();

        // offer elements to the Queue
        numbers.offer(1);
        numbers.offer(2);
        numbers.offer(3);
        System.out.println("Queue: " + numbers);

        // Access elements of the Queue
        int accessedNumber = numbers.peek();
        System.out.println("Accessed Element: " + accessedNumber);

        // Remove elements from the Queue
        int removedNumber = numbers.poll();
        System.out.println("Removed Element: " + removedNumber);

        System.out.println("Updated Queue: " + numbers);
    }
}

Uitvoer

Queue: [1, 2, 3]
Accessed Element: 1
Removed Element: 1
Updated Queue: [2, 3]

Ga voor meer informatie naar Java LinkedList.

2. De PriorityQueue-klasse implementeren

import java.util.Queue;
import java.util.PriorityQueue;

class Main {

    public static void main(String[] args) {
        // Creating Queue using the PriorityQueue class
        Queue<Integer> numbers = new PriorityQueue<>();

        // offer elements to the Queue
        numbers.offer(5);
        numbers.offer(1);
        numbers.offer(2);
        System.out.println("Queue: " + numbers);

        // Access elements of the Queue
        int accessedNumber = numbers.peek();
        System.out.println("Accessed Element: " + accessedNumber);

        // Remove elements from the Queue
        int removedNumber = numbers.poll();
        System.out.println("Removed Element: " + removedNumber);

        System.out.println("Updated Queue: " + numbers);
    }
}

Uitvoer

Queue: [1, 5, 2]
Accessed Element: 1
Removed Element: 1
Updated Queue: [2, 5]

Ga voor meer informatie naar Java PriorityQueue.


In de volgende tutorials zullen we leren over verschillende subinterfaces van de Queue interface en de implementatie ervan in detail.


Java

  1. C#-interface
  2. Java-operators
  3. Java super
  4. Java-interface
  5. Java proberen-met-bronnen
  6. Java-annotaties
  7. Java-verzamelingsinterface
  8. Java NavigableSet-interface
  9. Java Lambda-expressies
  10. Java - Interfaces
  11. Java 9 - Privé-interfacemethoden