English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 基礎教程

Java Flow Control

Java Array

Java Object-Oriented (I)

Java Object-Oriented (II)

Java Object-Oriented (III)

Java 異常處理

Java List

Java Queue (queue)

Java Map collection

Java Set collection

Java Input/Output (I/O)

Java Reader/Writer

Other Java topics

Java Queue 接口

In this tutorial, we will learn about the Java Queue interface and its methods.

The Java Collection Framework's Queue interface provides the functionality of the queue data structure. It inherits the Collection interface.

Classes that implement the queue

Since Queue is an interface, we cannot provide its direct implementation.

To use the features of Queue, we need to use the class that implements it:

Interfaces inherited from Queue

The Queue interface can also be inherited by various sub-interfaces:

  • Deque

  • BlockingQueue

  • BlockingDeque

work flow of the queue data structure

In the queue, infirst in first outin the way of storing and accessing elements. That is to say,Add elements from the back and delete elements from the front.

How to use the queue (Queue)?

In Java, it is necessary to import the java.util.Queue package to use Queue.

// 使用 LinkedList 创建
Queue<String> animal1 = new LinkedList<>();
// 使用 ArrayDeque 创建
Queue<String> animal2 = new ArrayDeque<>();
// 使用 PriorityQueue 创建
Queue<String> animal 3 = new PriorityQueue<>();

In questo esempio, abbiamo creato gli oggetti della classe LinkedList, ArrayDeque e PriorityQueue Animal1, Animal2 e Animal3. Questi oggetti possono utilizzare le funzionalità dell'interfaccia Queue.

Metodi della Queue

L'interfaccia Queue include tutti i metodi dell'interfaccia Collection. Questo perché Collection è il superinterfaccia di Queue.

Alcuni metodi comuni dell'interfaccia Queue:

  • add() - Inserisce l'elemento specificato nella coda. Se l'operazione ha successo, add() restituisce true, altrimenti lancia un'eccezione.

  • offer() - Inserisce l'elemento specificato nella coda. Se l'operazione ha successo, offer() restituisce true, altrimenti restituisce false.

  • element() - Restituisce l'inizio della coda. Se la coda è vuota, lancia un'eccezione.

  • peek() - Restituisce l'inizio della coda. Se la coda è vuota, restituisce null.

  • remove() - Restituisce e rimuove l'inizio della coda. Se la coda è vuota, lancia un'eccezione.

  • poll() - Restituisce e rimuove l'inizio della coda. Se la coda è vuota, restituisce null.

Implementazione dell'interfaccia Queue

1. Implementare la classe LinkedList

import java.util.Queue;
import java.util.LinkedList;
class Main {
    public static void main(String[] args) {
        //Creare coda utilizzando la classe LinkedList
        Queue<Integer> numbers = new LinkedList<>();
        //Aggiungere elementi alla Coda
        numbers.offer(1);
        numbers.offer(2);
        numbers.offer(3);
        System.out.println("Coda: " + numbers);
        //Accesso agli elementi della coda
        int accessedNumber = numbers.peek();
        System.out.println("Accesso all'elemento: " + accessedNumber);
        //Elementi della coda
        int removedNumber = numbers.poll();
        System.out.println("Eliminazione dell'elemento: " + removedNumber);
        System.out.println("Queue aggiornata: " + numbers);
    }
}

Risultato di output

Coda: [1, 2, 3]
Accesso all'elemento: 1
Eliminazione dell'elemento: 1
Coda aggiornata: [2, 3]

Per ulteriori informazioni, visitareLinkedList Java.

2. Implementare la classe PriorityQueue

import java.util.Queue;
import java.util.PriorityQueue;
class Main {
    public static void main(String[] args) {
        //Creare coda utilizzando la classe PriorityQueue 
        Queue<Integer> numbers = new PriorityQueue<>();
        //Aggiungere elementi alla Coda
        numbers.offer(5);
        numbers.offer(1);
        numbers.offer(2);
        System.out.println("Coda: " + numbers);
        //Accesso all'elemento della Queue
        int accessedNumber = numbers.peek();
        System.out.println("Accesso all'elemento: " + accessedNumber);
        //Eliminazione dell'elemento dalla Queue
        int removedNumber = numbers.poll();
        System.out.println("Eliminazione dell'elemento: " + removedNumber);
        System.out.println("Queue aggiornata: " + numbers);
    }
}

Risultato di output

Queue: [1, 5, 2]
Accesso all'elemento: 1
Eliminazione dell'elemento: 1
Queue aggiornata: [2, 5]

Per ulteriori informazioni, visitareJava PriorityQueue.

Nei prossimi tutorial, esploreremo in dettaglio i diversi sottointerfacce dell'interfaccia Queue e le loro implementazioni.