具体的比较取决于内部
Collections.sort使用哪种算法对元素进行排序。根据Javadoc的规定
Collections.sort:
此类中包含的多态算法文档通常包括对实现的简短描述。此类描述应被视为实现说明,而不是说明书的一部分。只要遵守规范本身,实现者就可以随意替换其他算法。(例如,sort使用的算法不必是mergesort,但必须是稳定的。)
换句话说,只要Java实现以相同的相对顺序保持相等的元素,就可以自由使用他们想要的任何排序算法。这意味着,如果不了解特定的Java实现,就无法知道将进行哪些比较。(如果我没记错的话,Oracle的Java版本实际上将其实现
Collections.sort从Java
7转换为Java 8,尽管我可能会误会。)
也就是说,这不是一件坏事。编写比较器背后的想法是告诉排序方法“做任何需要做的事情来对事物进行排序,如果需要进行比较,这就是做到这一点的方法。”
这是一个很好的抽象-您说了如何对事物进行排名,然后魔术排序的黑匣子就开始使用它来使事物井然有序。



