当前位置: 首页 > article >正文

java小知识点:比较器

        java中自主排序主要根据一个Comparator类来实现。

        他内部实现用的是Timsort策略。大概思想是说将整个集合分成几个小段,每个小段分别排序,然后再拼在一起。

        主要用法是传入两个数(也可以不是Integer或int类型,这里只是把他们都统称为数),然后根据返回值来判断这两个数哪个在前那个在后。比如a大于b的时候返回一个负数,那么a在b的前面,如果返回正数,那么a在b后面。

        此外有的类还实现了Comparable接口。这些类需要重写compareTo方法来定义他的排列顺序。这样这个类就可以被Collections.sort直接排序,而不需要再人为写一次排序器。当然,如果又自己写了一个比较器的话(Comparator),自己写的比较器优先级更高

        关于compare接口的实现和Comparator类的区别,以下是gpt的一个总结

        Comparartor在使用时,一般是以下的语法,这样来实现一个内部匿名类

Collections.sort(lsit, new Comparator(){
    @Override
    public int compare(){
        ****
        return *
    }    
})

或者也可以用lambda表达式或Comparator的内部实现


http://www.kler.cn/a/447843.html

相关文章:

  • 如何在Windows系统上安装和配置Maven
  • airflow docker 安装
  • PHP MySQL 插入多条数据
  • 如何调大unity软件的字体
  • Elasticsearch:什么是提示工程 - prompt engineering?
  • 让汉语和英语一样长的字符编码
  • 使用PyTorch实现GPT-2直接偏好优化训练:DPO方法改进及其与监督微调的效果对比
  • 机器学习(四)-回归模型评估指标
  • 【LeetCode】906、超级回文数
  • vue入门教程:组件透传 Attributes
  • c++领域展开第四幕——类和对象(上篇收尾 this指针、c++和c语言的初步对比)超详细!!!!
  • 如何使用PSQL Tool还原pg数据库(sql格式)
  • Kubernetes网络管理
  • 示波器--UNI-T 优利德 UT4102C 使用介绍
  • 前端面试:项目细节重难点问题分享(19)
  • 一步一步写线程之十六线程的安全退出之二例程
  • 2024年12月的《数据资产管理实践指南(7.0版)》解析
  • 使用Python构建个性化学习管理系统
  • javaEE-线程的常用方法-4
  • GIT与github的链接(同步本地与远程仓库)
  • 深入理解 Java 中的 ArrayList 和 List:泛型与动态数组
  • (2024.12)Ubuntu20.04安装ZED-SDK
  • 图解HTTP-HTTP报文
  • 硬盘接口模式sata与ahci区别, U盘UEFI GPT与Legacy 启动项区别,硬盘格式MBR和gpt的区别
  • JavaEE 导读与环境配置
  • 【Windows版】opencv 和opencv_contrib配置