Filas são estruturas de dados que servem/podem armazenar informações/elementos seguindo uma ordem lógica de inserção/remoção.
Em Java não existe uma interface de filas de prioridades. Porém existe a classe PriorityQueue que estende a interface Queue.
O curioso que, esta classe não segue os padrões de inserção (FIFOs), o elementos são adicionados seguindo a sua prioridade, determinado pelo objeto comparador.
- PriorityQueue.poll() = retorna sempre o menor elemento(de acordo com o comparador )
- Aceita valores duplicados.
- Não usar o comparador com objetos não classificáveis gera excessão ao tentar adicionar elementos.
Exemplo:
PriorityQueue
pq.add("carrot");
pq.add("appel");
pq.add("banana");
System.out.println(pq.poll() + " - " + pq.peek());
Resultado: appel - banana
Nenhum comentário:
Postar um comentário