java比较器

news/2024/11/18 4:18:21/

一、说明:

Java中的对象,正常情况下,只能进行比较: == 或 != 。不能使用 >或

如何实现? 使用两个接口中的任何一个: Comparable 或 Comparator

 二、Comparable的使用(自然排序)

1.Comparable接口的使用举例:

1.像string、包装类等实现了Comparable接口,重写了compareTo(obj)方法,给出了比较两个对象大小的方式

2.像string、包装类重与compareTo()方法以后,进行了从小到大的排列

3.重写compareTo(obj)的规则:

        如果当前对象this 等于形参对象obi.则返回零。

        如果当前对象this 大于形参对象obi,则返回正整数

        如果当前对象this小于形参对象obi.,则返回负整数

4.对于自定义类来说,如果需要排序,我们可以让自定义类实现Comparable接口,重写compareTo(Object obj)

2.在compareTo(obj)方法中指明如何排序

 三、Comparator的使用(定制排序)

1.背景:

当元素的类型没有实现java.Lang.Comparable接口而又不方便修改代码或者实现了java.Lang.Comparable接口的排序规则不适合当前的操作,那么可以考虑使用 Comparator 的对象来排序

 2.重写compare(Object o1,object o2)方法,比较1和2的大小:

        如果方法返回正整数,则表示o1大于o2;

        如果返回0,表示相等:

        返回负整数,表示o1小于o2


http://www.ppmy.cn/news/7601.html

相关文章

无信息变量消除法研究及实现(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 波长变量筛选的方法主要有相关系数法,逐步回归法,无信息变量消除法(UVE),遗传算法(genetic …

点云 3D 目标检测 - SECOND(Sensors 2018)

点云 3D 目标检测 - SECOND(Sensors 2018)摘要1. 引言2. 相关工作2.1 基于前视图和图像的方法2.2 基于鸟瞰图的方法2.3 基于3D的方法2.4 基于融合的方法3. SECOND检测器3.1 网络架构3.1.1 点云分组3.1.2 Voxelwise特征提取器3.1.3 稀疏卷积中间提取器3.1…

科创板智能家居第一股,萤石网络昨日上市

2022年12月28日,杭州萤石网络股份有限公司(以下简称“萤石网络”)成功登陆上海证券交易所科创板,证券代码为688475。值得一提的是,萤石网络是登陆科创板的第500家企业。 在上市仪式上,萤石网络董事长、总经理蒋海青表示&#xff0…

Linux信号:signal函数、pause函数、alarm函数

一、信号 1.什么是信号? 系统为了响应某些状况而产生的事件。进程收到信号后采取相应的动作。 2.哪些情况下会产生信号? ①键盘事件,如:ctl c 、ctl \ ②访问非法内存 ③硬件出现故障 ④用户态到内核态的切换 3.如何查看信号&…

【SpringMVC】SpringMVC整合Mybatis

1.整合思路 第一步:整合dao层 mybatis和spring整合,通过spring管理mapper接口使用mapper的扫描自动扫描mapper接口在spring中进行注册 第二步:整合service层 通过spring管理service接口使用配置方式将service接口配置在spring配置文件中实现…

MySQL基本用法

一、数据库的基本操作: 1、启动数据库:net start mysql; 2、进入数据库:mysql -h localhost -u root -p; 3、关闭数据库服务:net stop mysql; 4、查看数据库:show databases; 5、新建数据库:create databa…

c++算法基础必刷题目——贪心

文章目录贪心1、拼数2、排座椅3、矩阵消除游戏4、华华听月月唱歌贪心 贪心算法(greedy algorithm ,又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑&a…

基于蒙特卡诺的电动汽车充电负荷曲线研究(充电开始时间,充电电量,充电功率)(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…