У меня есть Java PriorityQueue для сортировки объектов из определенного мной класса под названием Node. Я хочу, чтобы он отсортировал узлы по их методу getData (). Я попробовал следующий код (с использованием компаратора), но он не сработал. Когда я вызвал метод «опроса» очереди с приоритетами, он сначала возвращал не самые низкие результаты, а в кажущемся случайном порядке. Как мне это исправить? Спасибо!
PriorityQueue<Node> pq = new PriorityQueue<Node>(hm.size(),
new Comparator<Node>( ) {
// override the compare method
public int compare(Node i, Node j) {
if (i.getData()<j.getData()){
return i.getData(); //It should sort by the Node's getData method.
}
return j.getData();