使用TreeSet集合比较Comparable接口和Comparator接口的区别

 
 
ThreeSet 自然排序 客户化排序
public int compare(Object o1, Object o2) {
Person per1 = (Person)o1;
Person per2 = (Person)o2;
return per1.score - per2.score;
}
return per1.score - per2.score; 表示如果返回负数,则前面元素比我面元素小,所以是升序排列,如果是降序则可以写为:return per2.score - per1.score;或者-(per1.score - per2.score)。
再定义规则中,使用String的compareTo方法[JDK Doc中String类的方法],这个方法是比较调用的字符与参数字符这两个字符按字典排序,返回值为负数,0,正数分别对于字典中靠前,一样,靠后的结果。例如s1.compareTo(s2)则是按字典排序,现在反过来s2.compare(s1)则变成倒序排列。或者倒序也可以写成:-s1.compareTo(s2);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值