废话不多说
怎么判断升序和降序
|
这么说吧,Comparator接口的compare方法是由一个默认是《升序》的。
Collections类始终认为
- 如果返回负值,o1比o2小
- 如果返回正值,o1比o2大
Collections类会把它认为小的值放到前面,它认为大的值放到后面。
如果我们需要升序排列
return o1-o2
1.1. 如果返回负值,o1真实值的比o2小,Collections也是这么认为的,所以Collections把o1排在前面
1.2. 如果返回正值,o1真实值的比o2大,Collections也是这么认为的,所以Collections把o1放在后面如果我们需要降序排列
return o2-o1
如果返回负值,o1真实值比o2大,Collections却认为o1比o2小,所以Collections把o1排在前面
如果返回正值,o1真实值比o2小,Collections却认为o1比o2大,所以Collections把o1排在后面
这样不就达到我们需要的降序的效果了吗!!
怎么实现多重排序
一开始自己没想,就想google看看有没有现成的,结果google出来质量堪忧。
于是就想着自己写写看,那直接看代码好了。
|