[JAVA] Priority Queue max Machen Sie es zu einer Warteschlange

Ich habe ein wenig vergessen, also schreibe ich es hier auf.

Normalerweise ist die PriorityQueue der minimale Heap.

PriorityQueue pq= new PriorityQueue(); pq.poll (); // Dies erhält das kleinste Element

Um dies in der Reihenfolge vom maximalen Haufen bekommen zu können

PriorityQueue pq = new PriorityQueue<>(Collections.reverseOrder());

Du kannst es schaffen.

Später, wenn Sie ein bestimmtes Feld des Objekts verwenden möchten PriorityQueue pq = new PriorityQueue(Comparator.comparing(SumTree::getAge)); Oder PriorityQueue pq = new PriorityQueue(Comparator.comparing(SumTree::getAge).reversed());

Du kannst es schaffen.

Recommended Posts

Priority Queue max Machen Sie es zu einer Warteschlange
[Java] Mach es konstant
Führen Sie Scala mit GraalVM aus und machen Sie es zu einem nativen Image
Erstellen Sie ein Reflexionsprogramm ②
Erstellen Sie ein Reflexionsprogramm ③
Erstellen Sie ein Reflexionsprogramm ①
[Zusammenfassung] Warum objektorientiert machen?
[Schienen] Machen Sie eine Brotkrumenliste
Machen Sie einen Diamanten mit Java