Comparable:内部比较器,进行排序的元素必须要实现该接口并重写里面的compareTo方法

Comparator:外部比较器,可以使用一个新类(匿名内部类、比较器实现类)来实现该接口,指定传入的泛型,并重写里面的compare方法就可以实现排序

import lombok.AllArgsConstructor;
import lombok.Data;@Data
@AllArgsConstructor
public class Person{private int age;private String name;
}
import java.util.*;public class Demo {public static void main(String[] args){List<Person> list=new ArrayList<>();list.add(new Person(18,"Java"));list.add(new Person(20,"MySQL"));list.add(new Person(6,"Redis"));list.sort(new Comparator<Person>() {@Overridepublic int compare(Person o1, Person o2) {return o2.getAge()-o1.getAge();}});list.forEach(p->System.out.println(p));}
}

Java中Comparable接口与Comparator接口相关推荐

  1. Java中的冒泡排序,Comparator接口和Comparable接口的简单使用

    冒泡排序 冒泡排序是一种常见的排序方法,按照一定的规则(比如从小到大或者从大到小的顺序)对一组数据进行排序.而在Java开发中,也经常用到冒泡排序.我们就以下面的一个例子来讲解冒泡排序算法. 给定一个 ...

  2. 【错误记录】Java 中 ArrayList 排序 ( 使用 Comparator 接口时注意 compare 返回值是 -1 和 +1 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 使用 Comparator 接口 , 对 ArrayList 集合中的元素排序无效 ; 打印之后没有进行排序 ; 错误代码就不贴出来了 , 随便搜索 ...

  3. Java中Comparable和Comparator接口区别分析

    本文要来详细分析一下Java中Comparable和Comparator接口的区别,两者都有比较的功能,那么究竟有什么区别呢,感兴趣的Java开发者继续看下去吧. Comparable 简介 Comp ...

  4. java comparator相等_详解Java中Comparable和Comparator接口的区别

    详解Java中Comparable和Comparator接口的区别 发布于 2020-7-20| 复制链接 摘记: 详解Java中Comparable和Comparator接口的区别本文要来详细分析一 ...

  5. Java基础之Comparable接口和Comparator接口的比较

    前言 就是普普通通的写这么一篇文章,java集合类估计java程序猿都知道,那就写一点小众的. 在实际应用中,我们往往有需要比较两个自定义对象大小的地方.而这些自定义对象的比较,就不像简单的整型数据那 ...

  6. Java6.0中Comparable接口与Comparator接口详解

    Java6.0中Comparable接口与Comparator接口详解 说到现在,读者应该对Comparable接口有了大概的了解,但是为什么又要有一个Comparator接口呢?难道Java的开发者 ...

  7. Comparable接口和Comparator接口

    目录 1 介绍 2 Comparable接口 3 Comparator接口 4 总结 1 介绍 有这样2个人,一个人光头,一个人有黑色头发,现在不允许染发,只允许光头的带假发,理由是有头发的人没有必要 ...

  8. Comparable接口和Comparator接口的比较

    1.Comparable详解 1.1Comparable概述 来自java.lang.Comparable.Comparable是 排序接口.若一个类实现了Comparable接口,就意味着该类支持排 ...

  9. 简单介绍Java中Comparable和Comparator

    转载自 简单介绍Java中Comparable和Comparator Comparable 和 Comparator是Java核心API提供的两个接口,从它们的名字中,我们大致可以猜到它们用来做对象之 ...

  10. 深入理解 Comparable 接口和 Comparator 接口以及Arrays.sort()

    compareTo(Object o)方法是java.lang.Comparable<T>接口中的方法,当需要对某个类的对象进行排序时,该类需要实现Comparable<T>接 ...

最新文章

  1. 你想知道的“ROC曲线”
  2. Oracle分析函数FIRST_VALUE、LAST_VALUE
  3. MySql 数据库 - 安装时提示缺失VCRUNTIME140_1.dll文件导致的无法启动此程序解决方法,vc++2015-2019运行库集合包获取
  4. Crawler/ML:爬虫技术(基于urllib.request库从网页获取图片)+HierarchicalClustering层次聚类算法,实现自动从网页获取图片然后根据图片色调自动分类
  5. 祝贺自己操作系统JAVA项目有进展!!
  6. owin 怎么部署在云中_使用Boxfuse轻松在云中运行Spring Boot应用程序
  7. 【正则表达式】正则表达式引发的惨案 回溯 超时 cpu 100
  8. 程序员怒斥:阿里如此嚣张?为所欲为?谁让你动了我的浏览器
  9. android改变textview文字,如何在Android TextView中更改文本
  10. 极客书的编程教程合集
  11. (详细)华为荣耀8青春 PRA-AL00的usb调试模式在哪里开启的流程
  12. ps快捷键常用表,ps快捷键大全!最全面的PS快捷键使用指南(图文演示)
  13. access 之 format 函数详解
  14. CSS 实现平行四边形
  15. QT 多显示屏获取屏幕分辨率
  16. DOS下Debug工具使用
  17. FPGA开发工具套餐搭配推荐及软件链接 (更新于2020.03.16)
  18. Oracle 11g grid 日志的目录结构
  19. html2canvas.js下载地址
  20. cesium里面能不能导入动画_cesium 添加动态 gif 图片

热门文章

  1. Python3 捕捉异常
  2. C#调用Microsoft.DirectX.DirectSound问题记录及解决
  3. Matlab内存不足问题的解决 .
  4. 关闭算法推荐正如刻舟求剑?!
  5. 【报告分享】2021年社区团购研究报告.pdf(附下载链接)
  6. 零基础轻松学python pdf 小码哥_零基础轻松学Python
  7. 2021年用独立站铁赚的四种模式
  8. linux下tail命令的用法,在Linux命令中tail的用法
  9. Python程序的执行过程
  10. matlab练习程序(共生矩阵)