1、compareTo(Object o)方法是java.lang.Comparable<T>接口中的方法,当需要对某个类的对象进行排序时,该类需要实现Comparable<T>接口的,必须重写public int compareTo(T o)方法,比如MapReduce中Map函数和Reduce函数处理的 <key,value>,其中需要根据key对键值对进行排序,所以,key实现了WritableComparable<T>接口,实现这个接口可同时用于序列化和反序列化。WritableComparable<T>接口(用于序列化和反序列化)是Writable接口和Comparable<T>接口的组合;
2、compare(Object o1,Object o2)方法是java.util.Comparator<T>接口的方法,它实际上用的是待比较对象的compareTo(Object o)方法。
例:
2、compare(Object o1,Object o2)方法是java.util.Comparator<T>接口的方法,它实际上用的是待比较对象的compareTo(Object o)方法。
例:
public class User implements Comparable<Object>{ int id; String name; public User(int id,String name){ this.id = id; this.name = name; } /* * Getters and Setters */ public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public int compareTo(Object o) { if(this ==o){ return 0; } else if (o!=null && o instanceof User) { User u = (User) o; if(id<=u.id){ return -1; }else{ return 1; } }else{ return -1; } } }
发表评论
-
java中线程池
2016-06-26 16:31 404最近在看线程池的类容,自己动手实现一个 package ... -
jvm常用设置
2015-09-08 22:48 428在我们实际工作中,可能会经常对JVM有一些设置,但是很多设置都 ... -
WebService相关
2015-07-26 21:55 1020之前由于工作需要 ... -
java RMI
2015-07-23 23:04 473JAVA RMI相关 分布 ... -
java jdbc 连接池
2015-07-21 00:18 520经常使用hibernate,在使用hibernate的时候经常 ... -
java 流传输压缩包
2015-07-14 23:14 629有的时候,页面上的下载文件是从后台使用流的形式下载来的,而不是 ... -
java 网络传输文件
2015-06-01 21:14 480package sterning; import java. ... -
java MD5加密
2015-03-30 14:41 338MD5是常用的加密算法,也经常用于校验信息完整,如文件的完整性 ... -
java 并发容器
2014-12-18 23:19 394在多线程的开发 ... -
java设计模式 之 builder模式
2014-12-11 22:19 454最近在看java设计模式,看到builder模式感觉十分不错, ... -
Hibernate 和 spring 整合使用
2014-10-14 21:28 792在hibernate和spring时总结的一些知识,以供将来查 ... -
hiernate 集中管理session
2014-10-13 21:55 527问题: 使用hibern ... -
java写入txt文件
2014-05-22 23:10 1166File file = new File("d: ... -
POI读取excel
2014-05-22 23:05 948读取excel大概在java中有两种方法,选用apache的P ... -
定时器 quartz 和 spring
2014-04-17 23:30 526最近学习了一个quartz 和spring 的定时调度 这个 ... -
java 基于Struts2的 文件上传和下载
2014-04-03 22:56 573文件上传: 页面代码: <form action=' ... -
java IO
2014-03-23 23:23 455import java.io.BufferedReader ... -
自己写的一个JDBC工具类
2014-03-11 20:00 1209在最近的一段时间写毕业设计,由于本科阶段的毕业设计不是特别大的 ... -
java汉字数字转换成阿拉伯数字
2014-02-20 17:14 6614今天做一个日期转换的时候发现有些时间是用大写汉字写成的,需 ...
相关推荐
在Java编程语言中,`compareTo()`方法是`Comparable`接口的一部分,它允许对象进行相互比较。这个方法主要用于排序,特别是当需要自定义排序规则时。本文将深入探讨`compareTo()`方法的使用,包括其基本原理、语法、...
通过本文的介绍,我们可以看到`compareTo`方法在Java中的重要性和其实现细节。正确地实现`compareTo`不仅可以使代码更加高效,还能帮助我们在实际项目中更好地管理和操作数据。希望本文能够帮助读者更好地理解和运用...
关于重写equals、hashcode以及compareTo方法! equals()方法是Object类中的一个方法,它用于比较两个对象是否相等。然而,它的默认实现是比较对象的引用(地址),而不是比较对象的实际内容。因此,在某些情况下,...
Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类...
BigDecimal#compareTo - 副本
通过这个示例代码,我们可以看到compareTo()方法和compare()方法的使用场景和区别。compareTo()方法是用于比较两个对象的大小的,而compare()方法是用于比较两个对象的大小,并且需要一个Comparator对象作为参数。
本文将深入探讨String类中的compareTo(String otherString)方法,帮助开发者更好地理解和应用这个关键功能。 一、前言 在Java面试和笔试中,String类经常成为考察的重点,特别是其内部的方法,如compareTo()。这个...
Java中比较运算符compareTo()、equals()与==的区别及应用总结 Java 中的比较运算符有多种,包括 compareTo()、equals() 和 ==,每种运算符都有其特点和应用场景。下面将详细介绍这三种运算符的区别和应用。 ...
在实现 Comparable 接口时,我们需要覆写 compareTo 方法,该方法返回一个整数值,用于表示当前对象和另一个对象的大小关系。如果返回值为 0,则表示两个对象相等;如果返回值为正数,则表示当前对象大于另一个对象...
一、String 篇 1、String 基本介绍 String 类代表字符串。 Java 程序中的所有字符串文字(例如”abc”)都被实现为此类的实例。String 是用来保存字符串的,比如:“我好帅啊”、“123456”、”hello”这些都是...
相比之下,`compareTo`方法则主要关注数值的大小关系,而不是精确度。当调用`compareTo`时,它会先比较两个BigDecimal的符号,然后根据它们的整数部分(intVal)进行比较。如果符号相同,它会通过`matchScale`方法...
###Responsibilities### Aequum 库旨在通过使用在 POJO 类上编写equals 、 hashCode和compareTo方法时帮助删除一些样板。 请注意,此库依赖于 Java 8。 ###组件初始化指令###要使用此库,调用builder的方法Aequum...
阿里内部Java工程师所遵循的开发规范,涵盖编程规约、单元测试规约、异常日志规约、MySQL规约、工程规约、安全规约等,这是近万名阿里Java技术精英的经验总结. 还包含java基础泛型、反射、注解,java高级特性、设计...
代码如下:from j in system.jhzdwhere j.dwbm.ToString().Trim() == branchcode.ToString().Trim()&& Convert.ToDateTime(j.yearmonth.ToString().Trim()).CompareTo(Convert.ToDateTime(timeFrom)) >= 0&& Convert...
本篇文章将深入探讨字符串操作的应用,与文章配套,旨在帮助读者更好地理解和掌握这方面的知识。 首先,我们来了解一下字符串的基础概念。在大多数编程语言中,字符串是由单引号或双引号包围的一系列字符。这些字符...
数独是一种广受欢迎的逻辑游戏,它通过填充一个9x9的网格,使得每一行、每一列以及每一个小的3x3宫格内的数字1到9都只出现一次。在这个"数独源码配合文章中一起使用.rar"压缩包中,包含的两个Java文件——Game2.java...
Java的String类是Java语言中最基础且常用的类之一,它代表不可变的字符序列,用于处理文本数据。在Java中,String对象一旦被创建,其内容就不能改变。本篇文章将详细介绍Java String类的一些主要构造函数和常用方法...
在上述示例中,`WordUtil`类提供了一个静态方法`extract(String article, Integer num)`,它接收一篇文章的字符串和需要返回的关键字数量,然后返回一个包含这些关键字的列表。此方法使用了IKAnalyzer进行分词,并...
本篇文章将深入探讨如何通过自定义类型实现四个关键的系统接口:`IComparable`、`IComparer`、`IEnumerable`和`IEnumerator`以及`IDisposable`。这些接口在各种场景下都有广泛的应用,例如数据排序、枚举遍历和资源...