3

Trabalhando com filas em Java

#Java
Ednaldo Araújo
Ednaldo Araújo

Após ter falado brevemente sobre listas, agora vou comentar um pouco sobre filas em java.


As filas assim como as listas são muito utilizadas em java.


Uma das diferenças é que normalmente, mas não necessariamente, as filas obedecem uma ordenação de maneira FIFO (FIRST-IN-FIRST-OUT). Entre as exceções estão as filas de prioridade, que ordenam os elementos de acordo com o comparador fornecido, ou a ordem natural dos elementos, e as filas LIFO (ou pilhas) que ordenam os elementos LIFO (LAST-IN-FIRST-OUT).



No caso da fila FIFO, todos os elementos são inseridos ao final da fila.


A seguir veremos alguns métodos utilizados pela fila(FIFO) em java e suas respectivas funções.


Antes, vejamos a "construção" de uma fila.


Queue<String> animais = new LinkedList<>();


Na linha acima, criamos a fila animais.


Agora utilizaremos alguns métodos para trabalhar com esta fila.


Métodos:

Primeiro vejamos como adicionar elementos a nossa fila.


animais.add("Cachorro");

animais.add("Gato");

animais.add("Ovelha");

animais.add("Leão");


O animal Cachorro será o primeiro a sair da fila, pois foi o primeiro que entrou. Outra coisa a ser observado é que o animal Leão foi o último a ser adicionado a fila. Isso faz com que obrigatoriamente ele fique no final da mesma e será o último a ser removido.


Podemos utilizar dois métodos para recuperar e remover o primeiro elemento da fila.

animais.remove();

animais.poll();


A diferença dos métodos acima é apenas no comportamento quando a fila está vazia.


No caso do método "remove();" será lançada uma exceção caso a fila esteja vazia. Isso faz com que tenhamos a preocupação de realizar o tratamento da mesma.


Já o método "poll();" apenas retorna null no caso de a fila está vazia, não tendo a preocupação de tratar exceção.


animais.peek();

O método "peek();" recupera e não remove o primeiro elemento da fila.


animais.contains("Leão");

O método "contains();" verifica se um elemento está na fila e retorna um boolean (true ou false).


animais.clear();

O método "clear();" limpa nossa fila.


animais.size();

O método "size();" retorna o tamanho da nossa fila.


animais.isEmpty();

O métodos "isEmpty;" verifica se a fila está vazia e retorna um boolean (true ou false).


Para percorrer a fila podemos utilizar Iterator ou for.


for(String filaAnimais: animais){

System.out.println("Imprimindo a fila com for: "+filaAnimais);

}


A estrutura acima percorrerá toda a nossa fila e imprimirá todos os seus elementos.


Também podemos utilizar o Iterator que tem a mesma função.


Iterator<String> it = animais.iterator();


while(it.hasNext()){

System.out.println("Imprimindo a fila com Iterator/while: "+it.next());

}


A seguir, postarei o meu link do github com exercício proposto na aula:

https://github.com/edrsr/DesafioJavaDio_Queue/tree/master







0
39

Comentários (0)

None

Brasil