Você está na página 1de 2

Queue.

Introdução
Em Java, a interface `Queue` representa a estrutura de dados de fila (FIFO). Por ser uma
interface, não pode ser instanciada diretamente. Para utilizá-la, é necessário implementá-la em
uma classe concreta. A hierarquia de classes relacionadas à interface `Queue` inclui as
implementações comuns, como `LinkedList` e `PriorityQueue`. Ao criar uma instância da
`LinkedList` ou `PriorityQueue` e atribuí-la à referência do tipo `Queue`, você pode aproveitar
os métodos fornecidos pela interface para operações de fila, como `add`, `remove` e `peek`.

E como interface ela fornece apenas os métodos.

FIFO (First-in First-out)


São literalmente filas, imagine que exista uma fila do supermercado onde, no caixa quando
alguém é atendido ele vai embora e em seguida me o próximo e por aí vai, lembrando que ao
fim da fila sempre pode chegar pessoas novas. Primeiro a chegar e primeiro a sair.

Iniciar um Queue
Para iniciar um Queue é preciso nesse caso criar uma LinkedList em primeiro lugar.

Queue<Tipo de Dado> Nome = new LinkedList<Tipo de Dado>();


import java.util.LinkedList;
import java.util.Queue;
public class Main {
public static void main(String[] args) {
Queue<String> Exemplo = new LinkedList<String>();
}}

Adicionar objeto | offer()


Enqueue(add) seguido pelo comando offer() onde seguindo o exemplo, adiciona alguém ao fim
da fila
Exemplo.offer("Karen");
Exemplo.offer("Chad");
Exemplo.offer("Steve");
Exemplo.offer("Harold");

Remover objeto | poll()


Dequeue(remove) seguido pelo comando poll() onde seguindo o exemplo, remove o primeiro
da fila
Exemplo.poll();

Acessar objeto | peek()


Peeking(examine) seguido pelo comando peek() onde seguindo o exemplo, acessa o primeiro
elemento
System.out.println(Exemplo.peek());
Apenas o peek sempre vai acessar o primeiro da fila, no caso, Karen.
Métodos adicionais.

Está vazio? | isEmpty()


System.out.println(Exemplo.isEmpty());
Retorna se o Queue está vazio ou não ‘true’ ou ‘false’

Tamanho | size()
System.out.println(Exemplo.size());
Retorna o tamanho do Queue

Tem Aquilo?
System.out.println(Exemplo.contains("Karen"));
Esse método checa se existe o parâmetro que foi requisitado

Para que usar Queue?


Buffer do teclado
As letras devem aparecer na tela na ordem em que são pressionadas

Fila da impressora
Os trabalhos de impressão devem ser concluídos em ordem

Extra
Usado em LinkedLists, PriorityQueues, pesquisa em largura

Você também pode gostar