java实用方法(二十八)——比较器(Comparable、Comparator )

1,Arrays是针对数组操作的类,Collections是针对集合操作的类

2,Comparable一般在自定义类的时候使用。如果自定义类没有实现Comparable接口,还需要有某种排序的功能, 那么就要用上Comparator 比较器了

  • 比较器(Comparable、Comparator)
  • 对比较器升序、降序的理解:(1)compare方法中,写成return o1.compareTo(o2) 或者 return o1-o2表示升序;(2)写成return o2.compareTo(o1) 或者return o2-o1表示降序
  • Comparator是对对象整体上的排序,所以可以将对象理解为只包含两个待比较元素的对象,对这两个对象指定的排序规则,就是对整体制定的排序规则,这样可以帮助理解如何制定自定义的排序规则。
//2,通过比较器排序,实现最大堆
PriorityQueue<Integer> maxHeap = new PriorityQueue<Integer>(new Comparator<Integer>() {

	@Override
	public int compare(Integer o1, Integer o2) {
	/**以下是对比较器升序、降序的理解.
	*(1) 写成return o1.compareTo(o2) 或者 return o1-o2表示升序
	*(2) 写成return o2.compareTo(o1) 或者return o2-o1表示降序
    */
	return o2.compareTo(o1);
	}
			
}) ;

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值