Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Interface de file d'attente Java

Interface de file d'attente Java

Dans ce didacticiel, nous allons découvrir l'interface Java Queue et ses méthodes.

Le Queue L'interface du framework de collections Java fournit la fonctionnalité de la structure de données de la file d'attente. Il étend le Collection interface.

Classes qui implémentent la file d'attente

Depuis le Queue est une interface, nous ne pouvons pas en fournir l'implémentation directe.

Pour utiliser les fonctionnalités de Queue , nous devons utiliser des classes qui l'implémentent :

  • ArrayDeque
  • Liste liée
  • File d'attente prioritaire

Interfaces qui étendent la file d'attente

Le Queue l'interface est également étendue par diverses sous-interfaces :

  • Deque
  • BlockingQueue
  • BlockingDeque

Fonctionnement de la structure des données de la file d'attente

Dans les files d'attente, les éléments sont stockés et accessibles dans First In, First Out manière. C'est-à-dire que les éléments sont ajoutés par derrière et retiré de l'avant .

Comment utiliser la file d'attente ?

En Java, il faut importer java.util.Queue package afin d'utiliser Queue .


// 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<>();

Ici, nous avons créé des objets animal1 , animal2 et animal3 de classes LinkedList , ArrayDeque et PriorityQueue respectivement. Ces objets peuvent utiliser les fonctionnalités du Queue interface.

Méthodes de file d'attente

Le Queue l'interface inclut toutes les méthodes du Collection interface. C'est parce que Collection est la super interface de Queue .

Certaines des méthodes couramment utilisées du Queue l'interface sont :

  • ajouter() - Insère l'élément spécifié dans la file d'attente. Si la tâche réussit, add() renvoie true , sinon il lève une exception.
  • offre() - Insère l'élément spécifié dans la file d'attente. Si la tâche réussit, offer() renvoie true , sinon il renvoie false .
  • élément() - Renvoie la tête de la file d'attente. Lève une exception si la file d'attente est vide.
  • coup d'oeil() - Renvoie la tête de la file d'attente. Renvoie null si la file d'attente est vide.
  • supprimer() - Retourne et supprime la tête de la file d'attente. Lève une exception si la file d'attente est vide.
  • sondage() - Retourne et supprime la tête de la file d'attente. Renvoie null si la file d'attente est vide.

Implémentation de l'interface de file d'attente

1. Implémentation de la classe LinkedList

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);
    }
}

Sortie

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

Pour en savoir plus, visitez Java LinkedList.

2. Implémentation de la classe PriorityQueue

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);
    }
}

Sortie

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

Pour en savoir plus, visitez Java PriorityQueue.

Dans les prochains tutoriels, nous découvrirons différentes sous-interfaces du Queue interface et sa mise en œuvre en détail.


Java

  1. Interface C#
  2. Opérateurs Java
  3. InterfaceJava
  4. Java essayer avec des ressources
  5. Annotations Java
  6. Interface Java NavigableSet
  7. Expressions Java Lambda
  8. Java-Interfaces
  9. Java 9 - Méthodes d'interface privée