IMHO: non è necessario PriorityQueue se si dispone di LinkedList. Posso ordinare la coda con LinkedList più velocemente che con PriorityQueue. per esempio.
Queue list = new PriorityQueue();
list.add("1");
list.add("3");
list.add("2");
while(list.size() > 0) {
String s = list.poll().toString();
System.out.println(s);
}
Credo che questo codice funzioni troppo a lungo, perché ogni volta che aggiungo elemento, esso ordinerà gli elementi. ma se userò codice successivo:
Queue list = new LinkedList();
list.add("1");
list.add("3");
list.add("2");
List lst = (List)list;
Collections.sort(lst);
while(list.size() > 0) {
String s = list.poll().toString();
System.out.println(s);
}
Penso che questo codice sarà sorta solo una volta e sarà più veloce che l'utilizzo di CodaConPriorita. Quindi, una volta posso ordinare il mio LinkedList una volta, prima di usarlo, in ogni caso e funzionerà più velocemente. E anche se ordina allo stesso tempo non ho davvero bisogno di PriorityQueue, non abbiamo davvero bisogno di questa classe.
fonte
2016-07-18 15:39:54
msr - dovresti accettare una buona risposta alle tue domande, o le persone smetteranno di rispondere a te e i tuoi denti cadranno. –