我只想知道 Comparator 使用哪种排序技术对事物进行排序。compare()
以及即使我们从未显式调用此方法,它的方法是如何被调用的。例如,假设我有课
class Person{
int age;
int personId;
//..getters and setters goes here
}
我还有另一个类 SortPerson
class SortPerson implements Comparator<Person>{
public int compare(){
//sorting logic goes here
//Assume that I am sorting according to person age.
}
}
在我的主课中,我正在使用 PriorityQueue
class Main{
public void main(...){
Queue<Person> q = new PriorityQueue<Person>(5, new SortPerson());
//q.add() and q.poll() operations goes here
}
}
那么在执行添加和轮询操作以保持正确的排序顺序时,究竟是如何调用比较器的呢?谢谢。