jdk7 中Collections.sort 异常
2024-10-19 09:00:34
Collections.sort 异常
java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.util.TimSort.mergeHi(TimSort.java:868)
at java.util.TimSort.mergeAt(TimSort.java:485)
at java.util.TimSort.mergeForceCollapse(TimSort.java:426)
at java.util.TimSort.sort(TimSort.java:223)
at java.util.TimSort.sort(TimSort.java:173)
at java.util.Arrays.sort(Arrays.java:659)
at java.util.Collections.sort(Collections.java:217)
代码例如以下:
Collections.sort(values, new Comparator<Map.Entry<String, Float>>() {
<span style="white-space:pre"> </span>public int compare(Map.Entry<String, Float> o1, Map.Entry<String, Float> o2) {
<span style="white-space:pre"> </span>return (o2.getValue() > o1.getValue() ? 1 : -1);
}
});
是对一个Map数组进行排序,更新了jdk版本号后报以上异常,查询了先关资料后,改动了代码例如以下:
Collections.sort(values, new Comparator<Map.Entry<String, Float>>() {
public int compare(Map.Entry<String, Float> o1, Map.Entry<String, Float> o2) {
return o2.getValue().compareTo(o1.getValue());
}
});
异常解决,參考链接:
http://stackoverflow.com/questions/10234038/compare-method-throw-exception-comparison-method-violates-its-general-contract
最新文章
- Bitset<;>;用于unordered container时的默认hash函数
- Signing Data
- SVM 简要推导过程
- JDK的下载、安装及环境变量的配置
- Bootstrap页面布局1 - 下载BS(bootstrap简称)
- ZOJ 2182 Cable TV Network(无向图点割-最大流)
- 使用WITH AS提高性能简化嵌套SQL(转载)
- 280.	Wiggle Sort
- java进制转换器 图形用户界面 十进制及其相反数分别转化为二,四,八,十六进制
- 1.MyBaits无代理全套增删改
- Mybatis配置(一)
- 201521123114 《Java程序设计》第6周学习总结
- 如何关闭eclipse对js xml的验证
- JQuery实战总结一 可编辑的表格
- Jsの数组练习-求一组数中的最大值和最小值,以及所在位置
- Android 的内存泄露和内存限制
- QGIS中坐标偏移处理
- 【转】Python数据类型之“数字(numerics)”
- Spring IOC(一)体系结构
- PAT甲题题解-1048. Find Coins (25)-水
热门文章
- pyqt 右击+指定位置点击例子学习
- PHP连接sql server 2005环境配置
- VBA清除Excelpassword保护,2003/2007/2010均适用
- 对于Android Service 生命周期进行全解析
- 关于IIS7.5下的web.config 404 配置的一些问题
- SQL Server -SET ANSI_NULLS
- [hdu5136]Yue Fei&#39;s Battle 2014 亚洲区域赛广州赛区J题(dp)
- The number of divisors(约数) about Humble Numbers
- Octorber 21st
- Oracle的几种索引