我需要对大量对象进行排序。每个对象都包含一个数字。我需要按该数字对其进行排序,但我无法使用比较器。是否可以使用mergesort
算法来做到这一点?
最佳答案
只要每个对象都有一种比较方法(通常在“compareTo(T other)”函数中完成),合并排序就是一个可行的解决方案。
编辑:更彻底地说,它看起来像这样:
public int compareTo(T other){
if this.getNumber() == other.getNumber(){
return 0;
}
else if this.getNumber() > other.getNumber(){
return 1;
}
else{
return -1;
}
}
关于java - 如何在没有比较器的情况下使用java中的MergeSort对对象数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58663402/