Instancie a fila em Java
-
Use a classe
LinkedList
para implementar um objetoQueue
em Java -
Use a classe
ArrayDeque
para implementar um objetoQueue
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]