Maison  >  Article  >  Java  >  Comment utiliser la file d'attente Java

Comment utiliser la file d'attente Java

小老鼠
小老鼠original
2023-12-26 17:09:191305parcourir

En Java, l'interface Queue représente une structure de données de file d'attente qui suit le principe du premier entré, premier sorti (FIFO), c'est-à-dire que les éléments qui sont placés en premier dans la file d'attente sont retirés en premier de la file d'attente. Son utilisation : LinkedList est utilisé comme implémentation de Queue. Les éléments sont ajoutés à la file d'attente, puis l'élément head est supprimé via la méthode poll, l'élément head est obtenu via la méthode peek sans suppression, et enfin les éléments de la file d'attente sont. parcouru par itération.

Comment utiliser la file d'attente Java

Le système d'exploitation de ce tutoriel : système Windows 10, ordinateur Dell G3.

En Java, l'interface Queue représente une structure de données de file d'attente qui suit le principe du premier entré, premier sorti (FIFO), c'est-à-dire que les éléments qui sont placés en premier dans la file d'attente sont retirés en premier de la file d'attente. L'interface Queue hérite de l'interface Collection, qui définit certaines méthodes de fonctionnement des files d'attente. L'interface Queue comporte deux classes d'implémentation principales : LinkedList et PriorityQueue.

Voici quelques méthodes d'interface de file d'attente couramment utilisées :

1. add(E e) / offer(E e) : insérez l'élément spécifié dans la file d'attente. La méthode add lèvera une exception lorsque la file d'attente est pleine et la méthode offer renverra une valeur spéciale (telle que vrai ou faux) pour indiquer si l'insertion a réussi.

Queue<String> queue = new LinkedList<>();
queue.add("Element 1");
queue.offer("Element 2");

2. remove() / poll() : Supprime et renvoie l'élément principal de la file d'attente. La méthode Remove lèvera une exception lorsque la file d'attente est vide et la méthode poll renverra une valeur spéciale (telle que null) pour indiquer si la suppression a réussi.

String element = queue.remove();
String elementOrNull = queue.poll();

3. element() / peek() : renvoie l'élément principal de la file d'attente, mais ne le supprime pas. La méthode element lèvera une exception lorsque la file d'attente est vide et la méthode peek renverra une valeur spéciale (telle que null) pour indiquer si l'acquisition est réussie.

String peekedElement = queue.element();
String peekedElementOrNull = queue.peek();

4. size() : renvoie le nombre d'éléments dans la file d'attente.

int size = queue.size();

5. isEmpty() : Détermine si la file d'attente est vide.

boolean isEmpty = queue.isEmpty();

6. clear() : Efface tous les éléments de la file d'attente.

queue.clear();

7. Autres méthodes : En plus des méthodes de base ci-dessus, l'interface Queue définit également d'autres méthodes, telles que addAll, removeAll, retentionAll, etc., pour prendre en charge les opérations de collecte.

Ce qui suit est un exemple simple qui montre comment utiliser l'interface Queue :

import java.util.LinkedList;
import java.util.Queue;
public class QueueExample {
    public static void main(String[] args) {
        Queue<String> queue = new LinkedList<>();
        // 添加元素
        queue.offer("Element 1");
        queue.offer("Element 2");
        queue.offer("Element 3");
        // 获取并移除头部元素
        String removedElement = queue.poll();
        System.out.println("Removed Element: " + removedElement);
        // 获取头部元素但不移除
        String peekedElement = queue.peek();
        System.out.println("Peeked Element: " + peekedElement);
        // 遍历队列
        System.out.println("Queue Elements:");
        for (String element : queue) {
            System.out.println(element);
        }
    }
}

Dans cet exemple, LinkedList est utilisé comme implémentation de Queue, les éléments sont ajoutés à la file d'attente, puis l'élément head est supprimé via le sondage. méthode, by La méthode peek obtient l'élément head sans le supprimer, et enfin parcourt les éléments de la file d'attente.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn