ae pessoal fiquei na duvida no uso dos metodo: poll(), peek() da class PriorityQueue.. olhei duas bibliografias e as duas nao bateram:
Deitel:
poll() - remove o elemento com maior prioridade ou seja maior valor.
peek() - mostra o elemento com maior prioridade maior valor.
* o primeiro elemento sempre tera maior prioridade que o segundo
------
Kathy
poll() - remove o elemento com maior prioridade
peek() - mostra o elemento co maior prioridade da fila.
ai vem a duvida que tipo de ordenacao essa classe usa? a natural para determinados tipo como Integer(1,2,3...) ou uma especifica dela? como vou saber quem ela classifica com maior prioridade?
bom implementei algumas classes e veja as diferenças quase nenhuma bate com a teoria dos autores acima.. ou eu q to confuso :S
import java.util.*;
class PriorityDeit{
public static void main(String agrs[]){
PriorityQueue<Double> p = new PriorityQueue<Double>();
p.offer(3.4);
p.offer(9.8);
p.offer(7.2);
System.out.println(p);
System.out.println("peek " + p.peek());
System.out.println("poll " + p.poll());
System.out.println(p);
}
}
import java.util.PriorityQueue;
class Prq{
public static void main(String agrs[]){
PriorityQueue<String> pr = new PriorityQueue();
pr.offer("Lopes");
pr.offer("Camilo");
pr.offer("Beni");
System.out.println(pr.peek());
System.out.println(pr);
System.out.println(pr.poll());
System.out.println(pr);
}
}
//pq remove o primeiro elemento?
criei essas classes e anexo tem outras a maior confusao minha eh no resultado.. e as vezes ele ordena outras nao..
quem puder dar esse help fico agradecido :D