Comparable 和 Comparator 对对象排序的用法与区别

最近做项目遇到了对对象排序的问题, 特此研究Java的API, 对Comparable与Comparator的用法总结如下:

java.lang.Comparable

java.util.Comparator

int objOne.compareTo(objTwo)

int compare (objOne, objTwo)

返回:

   负数:  如果 objOne < objTwo

   :      如果 objOne == objTwo

   正数:   如果  objOne > objTwo

 

 

Comparable

必须修改要比较的类的结构,令其实现Comparable 接口

编写一个独立的类,令其实现Comparator接口

一个类只能有一种排序

一个类可以有多重排序方式,只要多编写一个Comparator的实现类就好了。

JAVA API中经常用到,例如:String, 包装类(Integer, Long, Double…, Date, Calendar …

用于对第三方类的排序,因为第三方类一般都是无法修改的,更别说实现Comparable了,所以只能使用Comparator了。

 

下面是两个例子来论证如何去使用,这里我使用了内部类,大家也可以跟着看下内部类如何在静态方法中的调用。

 

1. 使用Comparable排序

2. 使用Comparator排序

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值