java - TreeSet 比较器或 comparble.compareTo() 优先级

标签 java treeset

如果 Java TreeSet 设置了一个比较器来处理对象排序逻辑,但是对象(类)也实现了可比性并且在其上实现了有效的 compareTo 方法。

哪个优先?比较器中的逻辑还是 compareTo 方法中的逻辑?

非常感谢。

最佳答案

传递给 TreeSet 的构造函数的 Comparator 优先。这允许使用与对象的 compareTo 实现的算法不同的比较算法。如果不是这样,您将永远无法对 TreeSet 使用不同的比较算法。

关于java - TreeSet 比较器或 comparble.compareTo() 优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7812902/

相关文章:

java 8 - javax.json - 如何从预制 JSON 中获取特定值

java - 传递给 Java main() 的命令行参数中的引号

java - 在java中使用stream api的复杂操作

Java TreeSet 按值对对象进行排序

java - 如何在多模块项目中使用 JUnit5 和 SpringBoot2 通过 gradle 而不是 intelliJ 运行测试

java - 使用递归的回文程序

Java Point2D 和可比较的

java - 为什么不使用自定义比较器从TreeSet中删除,则会删除较大的项集?

java - 通过按降序对 TreeSet 进行排序来查找数组的第三大元素

java - 具有两种规范的排序列表