Instancie a fila em Java

Bishal Awasthi 12 outubro 2023
  1. Use a classe LinkedList para implementar um objeto Queue em Java
  2. Use a classe ArrayDeque para implementar um objeto Queue em Java
Instancie a fila em Java

Este artigo apresentará métodos para instanciar um objeto Queue em Java. Descreveremos e implementaremos posteriormente as chamadas de método do objeto instanciado neste tutorial. Uma fila é uma interface e não podemos criar um objeto diretamente. Mas podemos implementar a classe que já implementa a interface Queue. Algumas dessas classes são AbstractQueue, ArrayDeque, DelayQueue, LinkedList. Portanto, estaremos usando as classes LinkedList e ArrayDeque para instanciar Queue neste tutorial.

Use a classe LinkedList para implementar um objeto Queue em Java

A classe LinkedList implementa o conceito de estrutura de dados LinkedList. É uma parte da estrutura de coleção e está disponível no pacote java.util. Os elementos da LinkedList são armazenados na forma de ponteiros e endereços. O elemento é conhecido como nó. Não podemos acessar o nó diretamente em LinkedList. Para acessar um nó, temos que começar da cabeça e seguir até chegar a um nó que queremos acessar. LinkedList implementa a interface List e herda todos os métodos presentes na interface List e na interface de coleção. Queue também está disponível no mesmo pacote. Podemos criar um objeto de Queue implementando a classe LinkedList. Podemos usar a função add() para anexar os dados na fila.

Em primeiro lugar, importe Queue e LinkedList usando import java.util.Queue e import java.util.LinkedList respectivamente. Então, crie uma classe QueueDemo e declare o método main. Em seguida, instancie um objeto queue implementando a classe LinkedList. Chame o método add() com o objeto e adicione cinco valores inteiros. Por fim, imprima os elementos da Fila.

No exemplo, usamos uma classe LinkedList que implementa a interface Queue para criar um objeto de fila. Isso ocorre porque a Queue é uma interface e não podemos criar seu objeto diretamente. Especificamos o tipo genérico Integer ao criar o objeto porque armazenamos o valor inteiro na fila. A seção de saída exibe os elementos armazenados na fila.

Código de exemplo:

import java.util.LinkedList;
import java.util.Queue;
public class QueueDemo {
  public static void main(String[] args) {
    Queue<Integer> queue = new LinkedList<>();
    queue.add(8);
    queue.add(9);
    queue.add(10);
    queue.add(2);
    queue.add(5);
    System.out.println("Added Queue in memory: " + queue);
  }
}

Resultado:

Added Queue in memory: [8, 9, 10, 2, 5]

Use a classe ArrayDeque para implementar um objeto Queue em Java

A linguagem Java definiu a classe ArrayDeque como parte da estrutura de coleção. Ele cria um conjunto vazio de locais na memória com uma capacidade inicial suficiente para conter dezesseis elementos. ArrayDeque também é chamado de Array Double Ended Queue, o que nos permite inserir ou excluir um elemento de ambos os lados. Ele implementa uma pilha (último a entrar, primeiro a sair) ou uma fila (primeiro a entrar, primeiro a sair). Portanto, podemos criar um objeto de Queue com a implementação da classe ArrayDeque.

Importe os pacotes como acima, mas certifique-se de importar ArrayDeque neste método em vez de LinkedList. Em seguida, crie uma classe Demo e declare o método main. Em seguida, implemente a classe ArrayDeque instanciando a interface Queue. Crie um objeto de Queue como aq. Use o objeto aq para chamar o método add() quatro vezes. Acrescente quatro strings diferentes. Finalmente, imprima o objeto aq.

No exemplo abaixo, usamos o tipo genérico String ao criar o objeto. É porque estamos adicionando itens de string na fila. Assim, instanciamos um objeto Queue implementando a classe ArrayDeque.

Código de exemplo:

import java.util.ArrayDeque;
import java.util.Queue;
public class Demo {
  public static void main(String[] args) {
    Queue<String> aq = new ArrayDeque<String>();
    aq.add("first");
    aq.add("second");
    aq.add("third");
    aq.add("fourth");
    System.out.println("Added Queue in memory: " + aq);
  }
}

Resultado:

Added Queue in memory: [first, second, third, fourth]

Artigo relacionado - Java Queue