Comparable和Comparator的区别

本文探讨了Comparable和Comparator接口在Java中的用途。Comparable用于对象的自然排序,需要重写compareTo()方法;Comparator则提供外部排序,位于java.util包下,需重写compare()方法。Comparator适合未实现Comparable接口的类进行排序,且更符合策略模式,应用更为广泛。

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

文章目录

相同点

都是用来对象之间的比较

不同点

1、Comparable:在java.lang包下
Comparator:在java.util包下

2、Comparable:需要重写compareTo(Object o)方法
Comparator:需要重写compare(Object o1, Object o2)方法

3、comparable:①是内在比较器,该类的对象可以直接相互比较this.compareTo(this),②可以直接使用Collections.sort方法排序
Comparator:①是外在比较器,没有实现comparable还想实现比较排序可以compare(o1,o2)

4、omparator 是典型的策略模式

5、Comparable和Comparator存在,Comparator优先级高

6、Comparable:需要修改原先的实体类,是一种自然的排序
Comparator:不用修改原先的类而实现的比较器,实际应用广

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值