在 JDK 7 版本以上, Comparator 要满足自反性,传递性,对称性,不然 Arrays . sort ,
Collections . sort 会报 IllegalArgumentException 异常。
说明:
1 ) 自反性: x , y 的比较结果和 y , x 的比较结果相反。
2 ) 传递性: x > y , y > z ,则 x > z 。
3 ) 对称性: x = y ,则 x , z 比较结果和 y , z 比较结果相同。
反例:下例中没有处理相等的情况,实际使用中可能会出现异常:
new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
return o1.getId() > o2.getId() ? 1 : -1;
}
}

转载于:https://www.cnblogs.com/amos-s/p/6387439.html

在 JDK 7 版本以上, Comparator 要满足自反性,传递性,对称性相关推荐

  1. java JDK各版本的变化及区别

    jdk1.2的新特性: 1.java提供了实现常见数据结构的类,这些实现数据结构的类统称为Java集合框架 jdk1.5的新特性: 1. 泛型jdk1.5之后Java集合框架开始支持泛型,主要目的是建 ...

  2. JDK各个版本的区别

    原地址:https://blog.csdn.net/papima/article/details/78219001 jdk1.5的新特性: 1. 泛型    ArrayList list=new Ar ...

  3. java基础总结(十九)--JDK各个版本的区别

    来自:https://blog.csdn.net/papima/article/details/78219001 jdk1.5的新特性: 1. 泛型    ArrayList list=new Arr ...

  4. linux 如何切换jdk的版本

    首先第一步我们看一下当前使用的jdk的版本 [root@test ~]# echo $JAVA_HOME /usr/java/jdk1.8.0_201 可以看到的是jdk的版本 也就是说$ java_ ...

  5. JDK 11版本时间表

    \ 看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料! \ \\ 在JDK 10发布两天之后,Oracle Java平台组首席架构师Mark Reinhold ...

  6. 解决Windows对JDK默认版本切换问题

    解决Windows对JDK默认版本切换问题 参考文章: (1)解决Windows对JDK默认版本切换问题 (2)https://www.cnblogs.com/ll409546297/p/659317 ...

  7. JDK源码解析 Comparator 中的策略模式

    JDK源码解析 Comparator 中的策略模式.在Arrays类中有一个 sort() 方法,如下: public class Arrays{public static <T> voi ...

  8. sun官网jdk各版本下载链接

    每次要找一个jdk的版本的时候, 总是在sun的官网转得晕头转向也找不到,其它网站的又不敢下,终于不知道在那里点到了archrive(档案库),记录下来,sun的各java产品的各个版本都全 http ...

  9. Maven配置JDK编译版本

    配置JDK编译版本 配置使用JDK 1.8编译运行项目 打开Maven的settings.xml文件 在profiles节点中,加入如下配置 <profile><id>jdk- ...

最新文章

  1. python 安装库 requirements.txt
  2. 年末盘点 2016 年最严重的 7 起 DDoS 攻击事件
  3. python画折线图代码-Python折线图的分析过程和画图的方法
  4. Velocity模板引擎的简单使用
  5. mysql bin.000013_mysql的binlog安全删除的一种方法
  6. 面试官:Redis 内存数据满了,会宕机吗?
  7. JavaScript对象与事件
  8. docker 阿里云镜像_Springboot工程制作镜像并推送到阿里云
  9. Vscode多个窗口显示多个选项卡/Tabs
  10. 开源组件XStream 修复11个漏洞并公开 PoC
  11. Ubuntu 14.04 安装 JDK 8,ubuntu14.04
  12. OpenSSH服务及其相关应用
  13. 如何将电脑网页准考证下载地址
  14. 【泛微E9开发】E9客户端下载页面修改方法
  15. 惠普T620瘦客户机安装Win7时AMD显卡驱动造成Aero透明效果不能使用
  16. 使用WireShark生成地理位置数据地图
  17. 用Python复现机器学习中12种经典降维算法
  18. OKA通证权益解析,参与Okaleido生态建设的不二之选
  19. 【无标题】软件企业认定条件(双软企业认定条件2022)
  20. 网络io和磁盘io_在磁盘IO上,第1部分:IO的风味

热门文章

  1. 手机重力感应控制电脑(一)
  2. SUSAN角点检测实现
  3. “光猫”调制解调器 和 路由器的区别 傻傻分不清
  4. html怎样去除顶部的空白,如何消除网页顶部的一行空白?
  5. Ubuntu 18.04 安装搜狗输入法
  6. oracle改字体大小_集成开发环境PL/SQL Developer教程:设置行号和修改字体大小
  7. 坚叔:让科幻片的概念变成产品丨编程挑战赛 x 嘉宾分享
  8. 球体与简单几何体的切接问题
  9. 调试Kubernetes集群中的网络停顿问题
  10. 速途研究院联合融云:中国移动社交沟通指数报告