Java中几种常见的比较器的实现方法
来源:互联网 发布:the weeknd 知乎 编辑:程序博客网 时间:2024/06/15 08:33
Java中几种常见的比较器的实现方式
在Java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题。
通常对象之间的比较可以从两个方面去看:
第一个方面:对象的地址是否一样,也就是是否引用自同一个对象。这种方式可以直接使用“==“来完成。
第二个方面:以对象的某一个属性的角度去比较。
从最新的JDK8而言,有三种实现对象比较的方法:
一、覆写Object类的equals()方法;二、继承Comparable接口,并实现compareTo()方法;
三、定义一个单独的对象比较器,继承自Comparator接口,实现compare()方法。
由于使用的排序方式的不同,具体选择哪种方法来实现对象的比较也会有所不同。
覆写equals()方法,一般用于自己实现对象数组排序的情况,而对于要使用java内置的排序算法时,使用后面两种方式都是可行的。
先来看第二种方式,这种方式就是让自己编写的类继承Comparable接口,并实现compareTo()方法,这种情况下,在使用java.util.Arrays.sort()
方法时,不用指定具体的比较器,sort()方法会使用对象自己的比较函数来完成对象的排序。下面是一个具体的例子:
一般我们使用以上两种方法就能够满足实际的开发问题。但是当出现以下情况时,就需要用到Comparator接口:
要在已经开发好的代码的基础上完善对象的比较功能时,又不想更改之前的代码,这种情况下,从JDK1.8之后出现了Comparator接口,是对这种情况的一个弥补。
这种情况下,我们需要单独定义一个对象比较器,继承Comparator接口,并实现compare()方法。示例代码如下:
阅读全文
0 0
- Java中几种常见的比较器的实现方法
- Java中几种常见的比较器的实现方法
- java详解 --- 一些比较常见的方法
- java 常见List实现类的比较
- JAVA中实现比较的方法
- java比较器的实现
- 几种常见排序方法的比较
- 常见数控机床的数据采集方法比较
- 常见比较排序算法的实现
- java实现多线程的两种方法的比较
- 常见Java开发工具的特点比较
- 常见的Java开发工具比较
- java项目常见数据库连接池的比较
- Java基础之常见集合的比较
- JAVA中常见的API比较
- Java中一些比较常见的加密算法
- java中几种常见的加密方法
- Java中几种创建文件的方法比较
- 103. Binary Tree Zigzag Level Order Traversal
- 《Qt creator快速入门第三版》--17.1.3
- 麻省理工学院科学家组成的一个团队教导人们通过电影获得情感
- windows清理8080端口
- 利用Eclipse 引用 jar包的几种方法
- Java中几种常见的比较器的实现方法
- XSS攻击及防御
- opencv笔记1---如何把opencv窗口镶嵌到MFC窗口
- 贪心poj2586
- Btree索引详解
- 【第1137期】软件工程师的职业建议
- cmd /c和cmd /k 以及CMD命令
- 母函数
- Java 中的浅拷贝与深拷贝