Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这是问题:
基于两列的Java排序
但是,任何人都可以解释如何在不使用 Comparator 的情况下进行操作吗?换句话说,比较器如何在内部工作以对多列进行排序?
sort 方法必须有某种方法来找出行对的相对顺序。使用普通排序有两种支持的方法。要么使用实现 Comparable 的类的实例来表示行,要么使用 Comparator。
如果您不想这样做,则必须编写自己的专用排序方法。当它需要比较两行时,它会首先查看优先级较高的列。如果该列中的行不同,则会给出顺序。如果它们在该列中相等,则根据第二列对它们进行排序。
也就是说,使用具有 Comparable 行或 Comparator 的标准排序比混合排序逻辑和比较逻辑要好得多。比较器是更灵活的方式。