Galera, alguem pode me explicar melhor sobre PriorityQueue e seus métodos…
Nao entendi mto bem.
PriorityQueue
5 Respostas
Galera, alguem pode me explicar melhor sobre PriorityQueue e seus métodos…
Nao entendi mto bem.
Eu acho que fica mais facil pra todo mundo tu dar um exemplo e o kra explicar. Assim penso.
Tipo explicar sobre poll, peek, offer. prioridade na fila… essas coisas.
quando qui da erro, excecao, coisas do tipo…
to meio perdido nessa
O PriorityQueue é uma “coleção” ordenado por prioridades.
Estas prioridades são definidas no construtor do PriorityQueue, passando um Comparator como parâmetro ou por padrão Comparable (ordem natural [0-9A-z] ou como implementado nos objetos).
O método offer() insere um elemento nesta coleção, pode lançar uma exeção NPE (NullPointerExcpetion) caso o elemento passado seja null ou uma ClassCastException caso o elemento não possa ser comparado com os demais (utilizando o Comparable ou Comparator dependendo do construtor utilizado).
O método pool() recupera um elemento da coleção e retira da mesma, diminuindo assim os itens da coleção.
Ao contrário do método peek() que recupera o elemento mas não retira o mesmo da coleção.
Tanto pool() quanto peek() retornam null quando a coleção estiver vazia.
[]s
O PriorityQueue é uma “coleção” ordenado por prioridades.
Estas prioridades são definidas no construtor do PriorityQueue, passando um Comparator como parâmetro ou por padrão Comparable (ordem natural [0-9A-z] ou como implementado nos objetos).O método offer() insere um elemento nesta coleção, pode lançar uma exeção NPE (NullPointerExcpetion) caso o elemento passado seja null ou uma ClassCastException caso o elemento não possa ser comparado com os demais (utilizando o Comparable ou Comparator dependendo do construtor utilizado).
O método pool() recupera um elemento da coleção e retira da mesma, diminuindo assim os itens da coleção.
Ao contrário do método peek() que recupera o elemento mas não retira o mesmo da coleção.
Tanto pool() quanto peek() retornam null quando a coleção estiver vazia.
[]s
Valeu pela ajuda!
Mas sem passar um Comparator como parametro… qual elemento o pool retira da coleção? qual qui é a ordem natural da prioridade?
Depende como a sua classe implementa o método public int compareTo(Object o), da interface java.lang.Comparable.
A ordem natural é definida em como esse método é implementado.
No caso da Classe String, a ordem natural é a alfabética
No caso da Classe Integer, a ordem natural é númerica: 1,2,3,4…etc
(pois o método compareTo dessas classes foi implementado para ser assim)
e por ai vai…
Outra coisa, caso você passe um objeto para o PriorityQueue que não implemente a interface Comparable, quando você tentar adicionar esse objeto, você verá uma linda exception (ClassCastException).
Para mais informações sobre a interface Comparable, dá uma procurada no Google
(estou com preguiça)
Att,