我是靠谱客的博主 动人香烟,最近开发中收集的这篇文章主要介绍java compare排序_java compare 降序/升序怎么确定,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

展开全部

先举个例子

1 2 5 3 6 9 7

从大家的认知来看,上面的数字从小到大为

1 2 3 5  6 7 9

但是如果是一对的字符串或者对象呢?

那么就需要32313133353236313431303231363533e78988e69d8331333335306334Comparator来自定义字符串或对象的比较方法,来排序了。

aa  bb cc  cc  ab

如果你在Comparator中自定义c是大于b   b是大于a的 那么

降序排序就是

aa ab bb cc cc

对于 public int compare(Object arg0, Object arg1)的理解

如果放回1  说明arg0 > arg1  如 2  1

如果放回0  说明arg0 = arg1  如 cc  cc

如果放回-1 说明arg0 < arg1  如 6  7

所以如果你希望

1 2 5 3 6 9 7 的排序变成 离5最接近的先输出那么如下代码(降序)public int compare(Object arg0, Object arg1) {

Integer cd1 = (Integer)arg0;

Integer cd2 = (Integer)arg1;

if (Math.abs(5-cd1)-Math.abs(5-cd2)>0)

return 1;

if (Math.abs(5-cd1)-Math.abs(5-cd2)==0)

return 0;

if (Math.abs(5-cd1)-Math.abs(5-cd2)<0)

return -1;

}

最后

以上就是动人香烟为你收集整理的java compare排序_java compare 降序/升序怎么确定的全部内容,希望文章能够帮你解决java compare排序_java compare 降序/升序怎么确定所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部