Comparable 和Comparator

本文详细介绍了Java中的排序接口Comparable和Comparator,解释了如何通过实现这些接口来为对象定义排序规则。此外,还讨论了实现这些接口的方法及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public interface Comparable<T>

Comparable 是排序接口,强行对实现它的每个类的对象进行整体排序;实现此接口的对象列表(和数组)可以通过Collections.sort(和Arrays.sort)进行自动排序;实现此接口的对象可以用作有序映射中的键或有序集合中的元素,无需指定比较器。

public interface Comparable<T> {
    public int compareTo(T o);
}    //比较此对象与指定对象的顺序,如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。

Comparator是比较器接口,我们若想控制某个类的次序,而该类本身不支持排序(即没有实现Comparable接口),那么可以建立一个该类的比较器进行排序,该比较器只要实现Comparator接口即可。

方法:

int compare(T o1,T o2){}//比较用来排序的两个参数
boolean equals(Object obj){}//指示某个其他对象是否“等于”此Comparator 
一个类实现了Comparator接口,一定要实现compareTo(T o1,T o2)函数,但是可以不实现equals(Object obj)函数,因为Object.java中实现了equals(Object obj)函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值