Interface de fila Java
Interface de fila Java
Neste tutorial, aprenderemos sobre a interface Java Queue e seus métodos.
O
Queue
A interface da estrutura de coleções Java fornece a funcionalidade da estrutura de dados da fila. Ele estende o Collection
interface. Classes que implementam fila
Desde o
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
- Lista de links
- PriorityQueue
Interfaces que estendem a fila
O
Queue
interface também é estendida por várias subinterfaces:Deque
BlockingQueue
BlockingDeque
Trabalho da estrutura de dados da fila
Nas filas, os elementos são armazenados e acessados em First In, First Out maneiras. Ou seja, os elementos são adicionados por trás e removido da frente .
Como usar a Fila?
Em Java, devemos importar
java.util.Queue
pacote para usar 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<>();
Aqui, criamos objetos animal1 , animal2 e animal3 de classes
LinkedList
, ArrayDeque
e PriorityQueue
respectivamente. Esses objetos podem usar as funcionalidades do Queue
interface. Métodos de fila
O
Queue
interface inclui todos os métodos do Collection
interface. É porque Collection
é a super interface de Queue
. Alguns dos métodos mais usados do
Queue
interface são:- adicionar() - Insere o elemento especificado na fila. Se a tarefa for bem-sucedida,
add()
retornatrue
, caso contrário, lança uma exceção. - oferta() - Insere o elemento especificado na fila. Se a tarefa for bem-sucedida,
offer()
retornatrue
, caso contrário, retornaráfalse
. - elemento() - Retorna o início da fila. Lança uma exceção se a fila estiver vazia.
- espreitar() - Retorna o início da fila. Retorna
null
se a fila estiver vazia. - remover() - Retorna e remove a cabeça da fila. Lança uma exceção se a fila estiver vazia.
- enquete() - Retorna e remove a cabeça da fila. Retorna
null
se 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<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);
}
}
Saída
Queue: [1, 2, 3] Accessed Element: 1 Removed Element: 1 Updated Queue: [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<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);
}
}
Saída
Queue: [1, 5, 2] Accessed Element: 1 Removed Element: 1 Updated Queue: [2, 5]
Para saber mais, visite Java PriorityQueue.
Nos próximos tutoriais, aprenderemos sobre as diferentes subinterfaces do
Queue
interface e sua implementação em detalhes. Java