У меня есть 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();