【问题标题】:Which is better for sorting an arrayList of objects, Using the comparator or Merge sort?使用比较器或合并排序哪个更适合对对象数组列表进行排序?
【发布时间】:2016-06-27 16:52:57
【问题描述】:

我需要对一个数组列表进行排序。我可以使用比较器并覆盖比较函数进行排序。或者我可以自己编写一个合并排序函数并对 ArrayList 进行排序。

我在某处读到比较器排序使用冒泡排序算法。由于合并排序的复杂性较低,我是否使用更易于实现的比较器进行合并排序。

【问题讨论】:

  • 如果你对对象进行排序,java使用TimSort,它是归并排序和插入排序的混合体..
  • 我正在尝试对 ArrayList> 进行排序。使用 TimSort 排序?
  • 谢谢,这很有道理。有人告诉我正在使用冒泡排序,这让我很困惑。

标签: java sorting arraylist


【解决方案1】:

使用 Comparator 对 ArrayList 中的对象进行总排序,并使用 Collection.sort(List list, Comparator c) 对列表进行排序。 Quoting the Java Documentation 对于上述排序方法,它使用了一种迭代合并排序算法,该算法改编自 Tim Peter 的 Python 列表排序 (TimSort)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-16
    • 1970-01-01
    • 2017-07-05
    • 2021-04-17
    • 2022-08-18
    • 1970-01-01
    • 2018-09-10
    • 1970-01-01
    相关资源
    最近更新 更多