2020-10-30

本文详细阐述了Comparable和Comparator接口在对象数组排序中的不同用途。Comparable是常用的排序接口,适用于类自身排序;Comparator则用于自定义排序逻辑,特别是在需要多种排序方式时。此外,Comparator是函数式接口,支持Lambda表达式,而Comparable不是。通过实现这两个接口,可以灵活地控制Java对象的排序行为。
摘要由CSDN通过智能技术生成

对象数组排序,Comparable和Comparator的区别

区别1:使用的区别
一般用作比较器的的接口是comparable,用得最多的也是Comoarable。而Comparator是一个补救措施,一般用作满足程序开发后期的使用。就是为了满足程序的开闭原则

区别2:用法的区别
Comparable:将所要实现排序的类,实现Comparable接口,在类中实现compareTo方法。便可直接使用Arrays.sort()进行排序。
Comparator:需要自定义一个排序类实现Comparator接口。实现compare方法。
用法事例如下:
在这里插入图片描述

在这里插入图片描述

区别3:功能的区别
如果某个类想要按照多种方式排序。则必须使用Comparator接口,去定义多个排序类。

区别4:接口的区别
comparator是函数式接口,只有一个abstract方法,支持lamda表达式。而Comparable不是函数式接口
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值