社区
Java SE
帖子详情
java比较器,comparator的比较方式
Summer_Tiger
2008-12-13 11:18:53
comparator中的compare(object o1,object o2)方法的排序原理是什么?它在比较时返回的是1,-1,0。若这样的排序它是按什么顺序:
public int compare(object o1,object o2){
return o1>o2? 1:(o1==o2)?0:-1
很混乱,谢谢帮忙
...全文
622
14
打赏
收藏
java比较器,comparator的比较方式
comparator中的compare(object o1,object o2)方法的排序原理是什么?它在比较时返回的是1,-1,0。若这样的排序它是按什么顺序: public int compare(object o1,object o2){ return o1>o2? 1:(o1==o2)?0:-1 很混乱,谢谢帮忙
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhaitao81
2008-12-18
打赏
举报
回复
[Quote=引用 4 楼 liao82 的回复:]
在使用Collections排序的时候,可以传入一个实现了Comparator接口的比较器
也是就是说你的对象会按照这个比较器来进行排序。
Collections.sort(list, new MyComparator());
[/Quote]
这才经典
Testing
2008-12-17
打赏
举报
回复
吸收
guogaocheng
2008-12-14
打赏
举报
回复
[Quote=引用楼主 zhangmagle 的帖子:]
comparator中的compare(object o1,object o2)方法的排序原理是什么?它在比较时返回的是1,-1,0。若这样的排序它是按什么顺序:
public int compare(object o1,object o2){
return o1>o2? 1:(o1==o2)?0:-1
很混乱,谢谢帮忙
[/Quote]
//其实就是告诉JVM object1和Object2这两个对象的比较方式。返回int类型
1 表示object1>object2
0 表示object1==object2
-1表示object1<objcet2
Monkey_D_Luffy
2008-12-14
打赏
举报
回复
[Quote=引用 2 楼 ChDw 的回复:]
Comprator不负责排序的,它只是告诉排序程序两个对象之间的大小。至于如何排序是由排序器(如Collections、TreeMap)来负责
Compartor如果返回小于0,则排序器认为o1 <02;如果等于0则认为o1==o2,如果大于0则认为o1 > o2
[/Quote]
comparator的实现的就是这个功能
amo_njupt
2008-12-14
打赏
举报
回复
学习
[Quote=引用 2 楼 ChDw 的回复:]
Comprator不负责排序的,它只是告诉排序程序两个对象之间的大小。至于如何排序是由排序器(如Collections、TreeMap)来负责
Compartor如果返回小于0,则排序器认为o1 <02;如果等于0则认为o1==o2,如果大于0则认为o1 > o2
[/Quote]
liao82
2008-12-13
打赏
举报
回复
在使用Collections排序的时候,可以传入一个实现了Comparator接口的比较器
也是就是说你的对象会按照这个比较器来进行排序。
Collections.sort(list, new MyComparator());
RJCHEN1985
2008-12-13
打赏
举报
回复
[Quote=引用 2 楼 ChDw 的回复:]
Comprator不负责排序的,它只是告诉排序程序两个对象之间的大小。至于如何排序是由排序器(如Collections、TreeMap)来负责
Compartor如果返回小于0,则排序器认为o1 <02;如果等于0则认为o1==o2,如果大于0则认为o1 > o2
[/Quote]
正解
ChDw
2008-12-13
打赏
举报
回复
Comprator不负责排序的,它只是告诉排序程序两个对象之间的大小。至于如何排序是由排序器(如Collections、TreeMap)来负责
Compartor如果返回小于0,则排序器认为o1<02;如果等于0则认为o1==o2,如果大于0则认为o1 > o2
ty_fzpb
2008-12-13
打赏
举报
回复
compare()方法的结果与对象的equals方法结果一致!
possibleonline
2008-12-13
打赏
举报
回复
comparator实现客户化排序,如TreeMap(Comparator<? super K> c)
TreeSet(Comparator<? super E> c)
BriskJJ
2008-12-13
打赏
举报
回复
up
kingdomfly
2008-12-13
打赏
举报
回复
你是不是没用过JDK帮助文档啊,建议下个.相当相当有用的!
恋空
2008-12-13
打赏
举报
回复
up
Insmiles
2008-12-13
打赏
举报
回复
[Quote=引用 2 楼 ChDw 的回复:]
Comprator不负责排序的,它只是告诉排序程序两个对象之间的大小。至于如何排序是由排序器(如Collections、TreeMap)来负责
Compartor如果返回小于0,则排序器认为o1 <02;如果等于0则认为o1==o2,如果大于0则认为o1 > o2
[/Quote]
up下
【
Java
】通过
Comparator
比较
器
的
方式
给对象数组排序
文章介绍了如何通过创建
比较
器
类实现对学生对象数组的灵活排序,避免直接修改Student类实现Comparable接口。通过定义Age
Comparator
和Score
Comparator
类,分别根据年龄和成绩对学生进行排序,展示了
Comparator
接口在排序中的应用。
java
-------Arrary.sort 用
Comparator
比较
器
定制排序
方式
(例如逆序)
本文详细介绍了
Java
中Arrays.sort方法的应用,包括基本的升序排序、使用
Comparator
实现降序排序的不同
方式
,以及如何对二维数组进行定制化的排序。
java
comparator
排序 定义
比较
器
内部类的
方式
排序 通用排序
方式
非常灵活
本文通过实现产品类并运用
Java
内置的Comparable接口,详细介绍了如何动态改变
比较
逻辑,进而实现产品列表按价格、销量及综合排序。通过具体代码示例展示了不同排序规则的应用。
Java
中 compareable 内部
比较
器
和
comparator
外部
比较
器
本文深入解析
Java
中的
比较
器
概念,对比内部
比较
器
Comparable与外部
比较
器
Comparator
的实现
方式
,通过具体代码示例展示如何在集合排序中应用这两种
比较
器
。
Java
函数接口
Comparator
和Comparable【
比较
器
接口】详解与示例
本文介绍了
Java
中Comparable和
Comparator
接口,二者均用于排序。Comparable是可排序接口,相当于“内部
比较
器
”;
Comparator
是
比较
器
接口,相当于“外部
比较
器
”。文中阐述了它们的使用
方式
、常用方法,并从应用场景、灵活性、性能等方面进行了
比较
,帮助开发者按需选择。
Java SE
62,621
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章