专栏首页Strivecomparator 排序报错IllegalArgumentException
原创

comparator 排序报错IllegalArgumentException

运行环境 | eclipse 12 | jdk1.8 | 数据量 100万

使用comparator 排序报错,十几条不出任何问题,正常排序,当超过100条数据时跑错java.lang.IllegalArgumentException

程序要对100万条json数据进行排序

java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.util.TimSort.mergeLo(Unknown Source) at java.util.TimSort.mergeAt(Unknown Source) at java.util.TimSort.mergeCollapse(Unknown Source) at java.util.TimSort.sort(Unknown Source) at java.util.Arrays.sort(Unknown Source) at java.util.ArrayList.sort(Unknown Source) at java.util.Collections.sort(Unknown Source) at movieDemo.Demo4.main(Demo4.java:46)

解决方法: 需要判断 结果 等于0的情况

加上等于零的情况,正常排序 if(o1.getValue() == o2.getValue()) { return 0; } 或者使用三目运算嵌套 return o1.getValue() - o2.getValue() == 0 ? 0 : o1.getValue() - o2.getValue() > 0 ?-1 : 1 ;

反例: return o1.getValue() - o2.getValue() > 0 ? -1 : 1;

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • rpc 报错 ClassNotFoundException

    rpc发送Request对象报错 java.lang.ClassNotFoundException

    Antler
  • 启动 jenkins Job for jenkins.service failed....

    搭建环境 | 系统:centos 7 | Java 1.8 | jenkins 2.121.3-1.1 2.1

    Antler
  • CentOs 6.6 在VMware安装并修改静态网卡

    搭建环境 | 系统:centos 6.6 | VMware Workstation Pro 12

    Antler
  • 记录Android Killer反编译时遇到的异常

    由于本地ShakaApkTool版本太低,需要更新一下,另外这里需要注意,需要下载ShakaApktool.jar。

    HLQ_Struggle
  • RxJS 学习系列 8. 过滤操作符 startWith,filter, last, first, skip, take

    startWith: 在开头添加要发送的元素 startWith(an: Values): Observable filter: 传入function 过...

    mafeifan
  • ffrpc相关文章列表

    ffrpc 是异步c++通信库。可以说是传统rpc模式和zeromq模式的一个结合,采用broker模式封装client和server之间的拓扑关系,而clie...

    知然
  • Keras学习笔记(七)——如何保存、加载Keras模型?如何单独保存/加载权重、结构?

    你可以使用 model.save(filepath) 将 Keras 模型保存到单个 HDF5 文件中,该文件将包含:

    种花家的奋斗兔
  • 『互联网架构』软件架构-解密电商系统-秒杀消息队列异步下单(79)

    PS:BAT这种大公司里面的秒杀系统,一般涉及到7,8个中心,每个中心之前可能有2个开发人员,一个秒杀系统大概15,16个人员,在加上单元测试人员,功能测试人员...

    IT故事会
  • 2015.12.21 HTML5真题练习

    HTML5学堂:每天一道题,强壮程序员!今日主要涉及12.18日关于字符串相关知识题目的解答,以及一道涉及数据类型的题目。 HTML5真题【2015.12.18...

    HTML5学堂
  • import引入页面的js效果无法使用解决!

    谷歌浏览器可以正常使用,但是在谷歌吧浏览器之外使用link的import引入的页面就无法显示

    十月梦想

扫码关注云+社区

领取腾讯云代金券