Neste tutorial, aprenderemos sobre a interface Java Queue e seus métodos.
A Queueinterface da estrutura de coleções Java fornece a funcionalidade da estrutura de dados da fila. Ele estende a Collectioninterface.
Classes que implementam fila
Como Queueé uma interface, não podemos fornecer a implementação direta dela.
Para usar as funcionalidades de Queue, precisamos usar classes que o implementam:
- ArrayDeque
- LinkedList
- Fila de prioridade

Interfaces que estendem Queue
A Queueinterface também é estendida por várias subinterfaces:
DequeBlockingQueueBlockingDeque

Trabalho da estrutura de dados da fila
Nas filas, os elementos são armazenados e acessados da maneira primeiro a entrar, primeiro a sair . Ou seja, os elementos são adicionados por trás e removidos pela frente .

Como usar a fila?
Em Java, devemos importar o java.util.Queuepacote para poder usar Queue.
// LinkedList implementation of Queue Queue animal1 = new LinkedList(); // Array implementation of Queue Queue animal2 = new ArrayDeque(); // Priority Queue implementation of Queue Queue animal 3 = new PriorityQueue();
Aqui, criamos os objetos animal1, animal2 e animal3 das classes LinkedList, ArrayDequee PriorityQueuerespectivamente. Esses objetos podem usar as funcionalidades da Queueinterface.
Métodos de fila
A Queueinterface inclui todos os métodos da Collectioninterface. É porque Collectioné a super interface do Queue.
Alguns dos métodos comumente usados da Queueinterface são:
- add () - Insere o elemento especificado na fila. Se a tarefa for bem-sucedida,
add()retornatrue, caso contrário, lança uma exceção. - offer () - insere o elemento especificado na fila. Se a tarefa for bem-sucedida,
offer()retornatrue; caso contrário, retornafalse. - element () - Retorna o início da fila. Lança uma exceção se a fila estiver vazia.
- peek () - Retorna o início da fila. Retorna
nullse a fila estiver vazia. - remove () - Retorna e remove o início da fila. Lança uma exceção se a fila estiver vazia.
- poll () - Retorna e remove o início da fila. Retorna
nullse a fila estiver vazia.
Implementação da Interface de Fila
1. Implementando a 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 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); ) )
Resultado
Fila: (1, 2, 3) Elemento acessado: 1 Elemento removido: 1 Fila atualizada: (2, 3)
Para saber mais, visite Java LinkedList.
2. Implementando a 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 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); ) )
Resultado
Fila: (1, 5, 2) Elemento acessado: 1 Elemento removido: 1 Fila atualizada: (2, 5)
Para saber mais, visite Java PriorityQueue.
Nos próximos tutoriais, aprenderemos sobre as diferentes subinterfaces da Queueinterface e sua implementação em detalhes.








