Comparable和Comparator接口是干什么的?列出它们的区别。
Java提供了包含compare()和equals()两个方法的Comparator接口。compare()方法用来给两个输入参数排序,返回负数,0,正数表明第一个参数是小于,等于,大于第二个参数。equals()方法需要一个对象作为参数,它用来决定输入参数是否和comparator相等。只有当输入参数也是一个comparator并且输入参数和当前comparator的排序结果是相同的时候,这个方法才返回true。
两种方式,各有各的特点:使用Comparable方式比较时,我们将比较的规则写入了比较的类型中,其特点是高内聚。但如果哪天这个规则需要修改,那么我们必须修改这个类型的源代码。如果使用Comparator方式比较,那么我们不需要修改比较的类,其特点是易维护,但需要自定义一个比较器,后续比较规则的修改,仅仅是改这个比较器中的代码即可。
转载于:https://www.cnblogs.com/yonyong/p/9323829.html
Comparable和Comparator接口是干什么的?列出它们的区别。相关推荐
- Comparable和Comparator接口时干什么的?列出它们的区别
一.对Comparable 的解释 Comparable是一个排序接口 此接口给实现类提供了一个排序的方法,此接口有且只有一个方法 public int compareTo(T o); compare ...
- Java中Comparable和Comparator接口区别分析
本文要来详细分析一下Java中Comparable和Comparator接口的区别,两者都有比较的功能,那么究竟有什么区别呢,感兴趣的Java开发者继续看下去吧. Comparable 简介 Comp ...
- java comparator相等_详解Java中Comparable和Comparator接口的区别
详解Java中Comparable和Comparator接口的区别 发布于 2020-7-20| 复制链接 摘记: 详解Java中Comparable和Comparator接口的区别本文要来详细分析一 ...
- Comparable和Comparator接口
目录 Comparable接口 Comparator接口(比较器) Comparable接口和Comparator的比较 总结 Comparable接口 作用:实现对引用数据类型的比较和排序 使用:待 ...
- java compareable接口_Java对象比较-Comparable和Comparator接口使用
最近在学习贪心算法和动态规划的过程中,里面有一段自然排序的操作,顺便简单了解一下Java中对象比较后排序要使用的两个接口:Comparable和Comparator.如果是数字,直接比较就行,但是如果 ...
- 使用Comparable、Comparator接口实现对对象数组、List集合自定义排序
1.实现对象数组排序 (1)方法一,需要排序的对象所属的类实现Comparable接口,复写 comparaTo方法 (2)方法二,需要排序的对象所属的类已经完成无法实现Comparable接口,这 ...
- Java中Comparable和Comparator接口的区别
点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/u010859650/article/details/85009595 Comparable 简介 Comparable 是排序 ...
- 比较器(Comparable与Comparator接口)
有错之处,希望大家可以指出来,谢谢. 文章目录 概念 Comparable接口 Comparable接口实现注意:接口的实现位置要在类所在的位置,比如此类是Worker类那么Comparable接口要 ...
- 【Java】Comparable和Comparator接口
活动地址:CSDN21天学习挑战赛 ✨博客主页: XIN-XIANG荣 ✨系列专栏:[Java SE] ✨一句短话: 难在坚持,贵在坚持,成在坚持! 文章目录 一. Comparable接口 1. C ...
最新文章
- YOLO3升级优化版!Poly-YOLO:支持实例分割!
- GO语言Windows下Liteide
- master-worker常驻型程序代码修改哪些需要重启master或者worker
- TCP/IP总结(1)分层
- 开关电源闭环控制原理_stepbystep,电路设计全过程(含原理图)
- 【Linux 内核网络协议栈源码剖析】网络栈主要结构介绍(socket、sock、sk_buff,etc)...
- paip.提升用户体验-----可访问性大原则及一些方法
- 在计算机内部除顶点,吉林大学材料加工CADCAM基础第章_计算机辅助设计基础课件.ppt...
- 微信小程序地图定位当前位置
- Android 国内阿里云镜像
- 【漏洞复现】海洋CMS6.28远程代码执行
- 单片机全局变量 局部变量 堆与栈
- 解决winrar压缩文件或文件夹时,文件拒绝访问问题
- 【手拉手 带你准备电赛】解答小课堂——为什么要使能时钟
- rs.next()为false导致resultset遍历不出数据
- 【MySQL】创建数据表
- WGCNA如何从module中挖掘关键基因
- 深度学习网络不收敛的原因分析总结
- Chrome源代码结构
- 西瓜视频这20亿,砸的是什么?
热门文章
- python自动化测试环境搭建_(一)Python+Appium自动化测试环境搭建
- 未来科技计算机作文600字,未来科技发展_600字
- shift用计算机,电脑Shift键的妙用,你都了解吗?
- 基于用户滚动应用CSS
- 内部排序比较(Java版)
- 如何编写一个d.ts文件
- CentOS下yum安装mcrypt错误:No package php-mcrypt available.解决方法
- CSS选择器(中)——高级选择器
- 禁止迅雷:迅雷服务器地址大全+ISA计算机集(xml)
- StarWind RAM 磁盘仿真程序