Имею простой класс:
public class User {
private String name;
private int ID;
public User (String name, int ID) {
this.name = name;
this.ID = ID;
}
public int GetID () {
return ID;
}
public String toString () {
return name + " : " + ID;
}
}
Создаю главный класс, где задаю параметры приоритета для очереди.
public class Main <T> {
public static void main (String [] args) {
Queue <User> queue = new PriorityQueue <User> (10, new Comparator <User> () {
@Override
public int compare(User o1, User o2) {
// TODO Auto-generated method stub
return (o1.GetID() - o2.GetID());
}
});
queue.add(new User ("Example", 10));
queue.add(new User("Example", 3));
queue.add(new User("Example", 1));
queue.add(new User("Example", 5));
queue.add(new User ("Example", 7));
queue.stream().forEach(System.out::println);
}
}
На выходе
Example : 1
Example : 5
Example : 3
Example : 10
Example : 7
Не могу найти причину, почему не сортируется.