加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 由非传递比较器排序是否“工作”?

发布时间:2020-12-14 05:07:32 所属栏目:Java 来源:网络整理
导读:如果我向 Collections.sort 提供非传递性 Comparator 会怎么样?我可以进入无限循环吗? 我写的一个小测试产生了一个输出,但我想确保这将永远是这样. 问题在于,在某些情况下,我的比较器可以产生周期,在这种情况下,我只想确保它不会进入无限循环.我不在乎实际
如果我向 Collections.sort提供非传递性 Comparator会怎么样?我可以进入无限循环吗?

我写的一个小测试产生了一个输出,但我想确保这将永远是这样.

问题在于,在某些情况下,我的比较器可以产生周期,在这种情况下,我只想确保它不会进入无限循环.我不在乎实际的结果.

解决方法

Java docs说你必须确保比较器是可传递的.如果您提供不符合要求的比较器,则所有投注都将关闭.它可能适用于给定的实现,但可能会在另一个实例中崩溃(std :: sort in C).

总之,你不应该依靠它工作,即使它是为某些或其他例子.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读