0

这是问题:

基于两列的Java排序

但是,任何人都可以解释如何在不使用 Comparator 的情况下进行操作吗?换句话说,比较器如何在内部工作以对多列进行排序?

4

1 回答 1

0

sort 方法必须有某种方法来找出行对的相对顺序。使用普通排序有两种支持的方法。要么使用实现 Comparable 的类的实例来表示行,要么使用 Comparator。

如果您不想这样做,则必须编写自己的专用排序方法。当它需要比较两行时,它会首先查看优先级较高的列。如果该列中的行不同,则会给出顺序。如果它们在该列中相等,则根据第二列对它们进行排序。

也就是说,使用具有 Comparable 行或 Comparator 的标准排序比混合排序逻辑和比较逻辑要好得多。比较器是更灵活的方式。

于 2012-11-18T17:46:52.700 回答