Hi,
ich möchte eine PQ in Java für ein selbst definiertes Objekt UND einem dazu selbst definierten Comparator verwenden.
Ich frage mich nun nur, ob die Imlementierun dieser aus
java.util.PriorityQueue; zum Zeitpunkt der Entnahme sortiert wird, oder ob der head mit dem gerinsten Wert erst bei der Entnahme generiert wird?
Etwas konkreter in Pseudocod
Object o1, o2, o3…
java.util.PriorityQueue pq = new PQ(Comparator of O);
pq.add(o1);
pq.add(o2)
…einen Wert, der zur Berechnung von compareTo(x) wichtig ist in o2 verändern…
pq.add(o3)
Object kleinstes_O = pq.pull();
Erhalte ich also immer noch wie gewollt das kleiste O, obwohl ich in den Variablen zur Berechnung vom Comparator rumgespielt habe nachdem ich diese Objekte der pq bereits hinzugefügt habe?
Grüße Oekel