Comparable和Comparator接口是干什么的?列出它们的区别。
来源:互联网 发布:投资域名后悔死了 编辑:程序博客网 时间:2024/05/19 16:38
Comparable和Comparator接口是用来对自定义的class比较大小的。
Comparator和 Comparable的区别:Comparator定义在Person的外部而Comparable定义在Person的内部。
Comparable定义在Person的内部。public class Persion implements Comparable {..比较Person的大小..},因为已经实现了比较器,那么Person现在是一个可以比较大小的对象了,它的比较功能和String完全一样,可以随时随地的拿来比较大小,因为Person现在自身就是有大小之分的。Collections.sort(personList)可以得到正确的结果。
Comparator是定义在Person的外部的,此时Person类的结构不需要有任何变化,如public class Person{ String name; int age },然后另外定义一个比较器:public PersonComparator implements Comparator() {..比较Person的大小..},在PersonComparator里面实现了怎么比较两个Person的大小. 所以用这种方法,要对一个 personList进行排序的时候除了要传递personList过去,还需要把PersonComparator传递过去,因为怎么比较Person的大小是在PersonComparator里面实现的,如Collections.sort( personList , new PersonComparator() )。
Comparator和 Comparable的区别:Comparator定义在Person的外部而Comparable定义在Person的内部。
Comparable定义在Person的内部。public class Persion implements Comparable {..比较Person的大小..},因为已经实现了比较器,那么Person现在是一个可以比较大小的对象了,它的比较功能和String完全一样,可以随时随地的拿来比较大小,因为Person现在自身就是有大小之分的。Collections.sort(personList)可以得到正确的结果。
Comparator是定义在Person的外部的,此时Person类的结构不需要有任何变化,如public class Person{ String name; int age },然后另外定义一个比较器:public PersonComparator implements Comparator() {..比较Person的大小..},在PersonComparator里面实现了怎么比较两个Person的大小. 所以用这种方法,要对一个 personList进行排序的时候除了要传递personList过去,还需要把PersonComparator传递过去,因为怎么比较Person的大小是在PersonComparator里面实现的,如Collections.sort( personList , new PersonComparator() )。
0 0
- Comparable和Comparator接口是干什么的?列出它们的区别。
- Comparable接口和Comparator接口的区别
- Comparable接口和Comparator接口的区别
- Comparator接口和Comparable接口的区别
- Comparable和Comparator接口的区别
- Comparator和Comparable接口的区别
- Java comparable和Comparator接口的区别
- Comparable & Comparator接口的区别
- java Comparable接口和Comparator接口的区别
- 关于comparator接口和comparable接口以及它们各自的方法compare()和compareTo()
- comparator接口与Comparable接口的区别
- comparator接口与Comparable接口的区别
- comparator接口与Comparable接口的区别
- comparator接口与Comparable接口的区别
- comparator接口与Comparable接口的区别
- comparator接口与Comparable接口的区别
- comparator接口与Comparable接口的区别
- comparator接口与Comparable接口的区别
- Ubuntu怎么设置双屏幕显示
- vb.net教程 0-2 操作区域
- A+B
- Three.js入门篇之1
- 函数的返回值
- Comparable和Comparator接口是干什么的?列出它们的区别。
- JAVA实现一个简单的代数运算语言编译器(三)--词法分析
- 符号常量和变量
- HTML 5入门知识(三)
- Ruby_异常处理
- C++基础知识复习之--顺序表学生成绩管理系统
- 时间复杂度与空间复杂度
- JSON
- C++随机数 (rand srand)用法,注意随机数种子每次要更新。