【JAVA】comparator 升序、降序、倒序

Comparator接口的定义如下:

public interface Comparator<T> {
 
    int compare(T o1, T o2);
 
    boolean equals(Object obj);
}

对列表list进行排序:

Arrays.sort(list,new Comparator() {
		@Override
		public int compare(Object o1, Object o2) {
			if(o1 < o2) {
				return -1
			}
			else if (o1 == o2){
				return 0
			}
			else {
				return 1
			}
		}
	}
)

想实现升序,规定组合
o1<o2 return -1
o1=o2 return 0
o1>o2 return 1
想实现降序,规定组合
o1<o2 return 1
o1=o2 return 0
o1>o2 return -1
倒序,规定
return -1;
不变,规定
return 0或者1;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
使用Comparator接口可以实现升序排序。在Java中,我们可以创建一个实现了Comparator接口的匿名类对象,并重写其compare方法来定义升序排序的规则。在compare方法中,我们将两个元素进行比较,如果第一个元素小于第二个元素,则返回一个负数;如果第一个元素大于第二个元素,则返回一个正数;如果两个元素相等,则返回0。通过传递这个比较器对象给排序方法,例如Collections.sort或Arrays.sort,可以按照我们定义的升序规则对元素进行排序。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【转】java comparator 升序降序倒序从源码角度理解](https://blog.csdn.net/weixin_30318645/article/details/95426252)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Comparator的compare方法如何定义升序降序](https://blog.csdn.net/weixin_30437337/article/details/101542754)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值