java - 如何在没有比较器的情况下使用java中的MergeSort对对象数组进行排序

标签 java sorting object mergesort

我需要对大量对象进行排序。每个对象都包含一个数字。我需要按该数字对其进行排序,但我无法使用比较器。是否可以使用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/

相关文章:

oop - 过程式编程比面向对象编程有什么优势吗?

java - 使用 while 循环处理异常

Java 按唯一索引号对值进行排序

Python 按频率对文件进行排序

c++ - 具有传递引用对象的类会产生编译错误

objective-c - 在函数中获取当前对象?

java - 为什么我的二叉树不显示正在插入的内容?

java - 没有选择数据库 GAE

java - 如何开始为我的 Android 应用程序进行单元测试?

使用 bool 值表对 lua 表进行排序