之前的两篇文章主要学习了Comparable接口和Comparator接口的学习。既然已经学习完了,现在就趁热打铁,进行总结吧!

Comparable接口和Comparator接口的共同点:

  1. 都是为了进行排序。(废话,当然都是进行排序了!!!嘿嘿,大家都能看出来,不过还是写下来了!)

  2. 都是接口。(额。。又是废话)

  除此之外,小编想不出还有什么共同点了!想到了其他的相同点可以在文章下方留言,大家一起学习!

  相同点说完了,接下来就是不同点啦。

Comparable接口与Comparator接口的不同点:

  1. 虽然都是为了排序,但是排序的方式不同。

    Comparable接口的排序是:按字典顺序排序。

    Comparator接口的排序是:coder自己设定的排序,包含字典属性排序。

    这是主要的区别呀!

  2. 其次实现的方法不同。(这个大家都知道的哈)

    Comparable接口的方法:compareTo(Object o)

    Comparator接口的方法:compare(T o1, To2)

  3. 再者使用的方式不同。(小编都不好意思在编下去了......)

    针对不同的对象,使用的方式也不同:

    List列表:

      Comparable接口:Collections.sort(List<T> list);

      Comparator接口:Collections.sort(List<T> list, Comparator<? super T> c);

    Array数值:

      Comparable接口:Arrays.sort(List<T> list);

      Comparator接口:Arrays.sort(List<T> list, Comparator<? super T> c);

  4. 实现的方式不同。

    Comparable接口的实现:直接用需要进行排序的类实现即可。例如:public class User implements Comparable<User>

    Comparator接口的实现:需要新建一个类实现此接口。例如:public class UserComparator implements Comparator<User>

  以上就是Comparable接口与Comparator接口的异同了!如有遗漏的,小伙伴们可以在下面评论哈,告诉我,你们是我的老师哈!

      

Comparable接口与Comparator接口的比较————总结的更多相关文章

  1. Java中实现对象的比较:Comparable接口和Comparator接口

    在实际应用中,我们往往有需要比较两个自定义对象大小的地方.而这些自定义对象的比较,就不像简单的整型数据那么简单,它们往往包含有许多的属性,我们一般都是根据这些属性对自定义对象进行比较的.所以Java中 ...

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

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

  3. Java:实现对象的比较 comparable接口和comparator接口

    在实际应用中,我们往往有需要比较两个自定义对象大小的地方.而这些自定义对象的比较,就不像简单的整型数据那么简单,它们往往包含有许多的属性,我们一般都是根据这些属性对自定义对象进行比较的.所以Java中 ...

  4. Java—集合框架 Collections.sort()、Comparable接口和Comparator接口

    Collentions工具类--java.util.Collections Collentions是Java集合框架中,用来操作集合对象的工具类,也是Java集合框架的成员,与List.Map和Set ...

  5. 比较器:Compare接口与Comparator接口区别与理解

    一.实现Compare接口与Comparator接口的类,都是为了对象实例数组排序的方便,因为可以直接调用 java.util.Arrays.sort(对象数组名称),可以自定义排序规则. 不同之处: ...

  6. java中Comparatable接口和Comparator接口的区别

    1.不同类型的排序规则 .自然排序是什么?   自然排序是一种升序排序.对于不同的数据类型,升序规则不一样:   BigDecimal BigInteger Byte Double Float Int ...

  7. Comparatable接口和Comparator接口的使用与区别

    这篇博文可以为你解决的问题如下: 什么是自然排序 Collections.sort()与Arrays.sort()的异同点 Comparatable接口和Comparator接口各自的排序依据(理论讲 ...

  8. Java中的Comparable接口和Comparator接口

    Comparator位于包java.util下,比较器,是在集合外部定义排序.Comparable位于包java.lang下,代表当前对象可比较的,是在集合内部实现排序. Comparable代表一个 ...

  9. Java之Comparable接口和Comparator接口

    Comparable & Comparator 都是用来实现集合中元素的比较.排序的: Comparable 是在集合内部定义的方法实现的排序: Comparator 是在集合外部实现的排序: ...

随机推荐

  1. QQ音乐爬虫

    #今日目标 **QQ音乐爬虫** 今天要爬取的是QQ音乐任意歌手的所有音乐歌词,因为笔者是周杰伦的忠实粉丝,所以专门写了个爬虫来爬取他的音乐的歌词,因为他的音乐在咪咕音乐可以听,所以便没有去爬取. 好 ...

  2. VeryNginx详细配置说明

    自定义行为 ( Custom Action ) 匹配器 (Matcher) 匹配器 VeryNginx 会收到各种各样的Http请求,当我们定义一条规则(Action)的时候,我们可能会需要限定,这条 ...

  3. mac osx sed 命令

    $ sed -i "s/devicedemo/device/g" `grep devicedemo -rl ./` sed: 1: ".//.coveragerc&quo ...

  4. vue使用Vuex, IE浏览器报错

    错误:  [vuex] vuex requires a Promise polyfill in this browser. 原因:因为使用了 ES6 中用来传递异步消息的的Promise,而IE低版本 ...

  5. ABAP JSON转换

    REPORT ztest_json. DATA: json_ser TYPE REF TO cl_trex_json_serializer, json_des TYPE REF TO zcl_trex ...

  6. 一、bif

    缩进是python的灵魂,缩进可以使python的代码整洁,有层次. python是脚本语言,就是为了简单方便以辅助科学运算,因此python有许多bif,build in function 全部都是 ...

  7. framebuffer测试程序

    /* framebuffer简单测试程序 网上转载 很多次 的程序 :-) */ #include <stdio.h> #include <stdlib.h> #include ...

  8. C++ 一周刷完C++基础课程(同C程序进行比较)

    **参考bilibili视频av29504365** ### 一段简单的程序Hello World```#include <iostream>using namespace std;int ...

  9. Wannafly挑战赛22 B 字符路径 ( 拓扑排序+dp )

    链接:https://ac.nowcoder.com/acm/contest/160/B 来源:牛客网 题目描述 给一个含n个点m条边的有向无环图(允许重边,点用1到n的整数表示),每条边上有一个字符 ...

  10. ui自动化之selenium操作(五)简单元素操作--续

    1. 多窗口切换 有时候需要在多窗口切换,webdriver提供了switch_to_window()方法支持切换窗口: from selenium import webdriver import o ...