java接口comparable和comparator比较器
程序员文章站
2022-03-04 20:01:04
...
接口比较器的两种(哈哈哈,不知道是不是就这两个常用,还是我就学了这两种,但是知道这两种就可以解决大部分的任务)
1.Comparable
2.Comparator
1.Comparable的实现类
int compareTo(Object o)
2.Comparator的实现类
int compare(Object o1, Object o2)
首先我们首先要明白的是,这两种比较器的用武之地。
Comparable用在类里面,高耦合
简而言之,它是在对象类里进行的实现之后集合再进行调用。
2.Comparetor比较器耦合度低,可以独立的在其他类中,更加符合编程的思想
①普通类继承实现
②内部类实现
二丶比较器到底是怎么进行比较大小的呢?
这个问题是我也是大家之后最挠头的问题,如果你们老师教过或者网上的一部分直接告诉我们用固定的套路,记住就行,也是可以的,但是像我这样的初生牛犊不怕虎,就想搞懂
就查了资料发现大家都要不是太简单要不是就是搞的听不懂。
1.Comparable
内部实现compareTo(Object o)
比较的是一个二叉树,用当前的对象去和插入的数据进行对比,如果结果返回的是负数就说明数据
放在左边,如果结果返回的是大于0的数就放在右边。
2.Comparator
内部实现Compare(Object o1,Object o2)
是将第一个对象和第二个对象进行对比,原理和上面的一样。
(实际操作呢,如果不懂还是试试最好使。其实哥们也没懂具体怎么比较排序的,数据结构大学应该在睡觉,写下这个博客的一是提醒自己这个还不懂,二是看这份博客的朋友懂的给个解释,谢谢啦。如果我在下面的学习过程中解决了我就会补全。)
推荐阅读
-
java比较器Comparable接口与Comaprator接口的深入分析
-
Map集合的遍历方式以及TreeMap集合保存自定义对象实现比较的Comparable和Comparator两种方式
-
Java基础系列-Comparable和Comparator
-
【JAVA】用Comparable接口学生的成绩做降序排序!请正确指定泛型;用Comparator实现按照姓名排序,请正确指定泛型!
-
Collections包装类和Comparator比较器
-
java8 函数式编程入门 什么是函数式编程 函数接口概念 流和收集器基本概念
-
Java Comparable和Comparator简介
-
java比较器Comparator原理笔记
-
【java读书笔记】——Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)
-
comparable接口和comparator接口