java.util.Comparator是比较器接口,如果我们需要控制某个类的次序并且该类本身不支持排序,那么就可以建立一个类比较器来进行排序,实现方式很简单只需要实现java.util.Comparator接口中下面的compare方法:
public int compare(Object s1, Object s2)
比较的原则需要牢记
返回 <0的情况 不调整s1和s2顺序
返回 >0的情况 调整s1和s2顺序
举个栗子
【升序排列】
==========================================
第一种情况: s1=3 s2=4
public int compare(Object s1, Object s2){
return s1-s2;
}
结果返回 -1 不调整顺序 即:3 4 (升序)
==========================================
第二种情况 s1=6 s2=5
public int compare(Object s1, Object s2){
return s1-s2;
}
结果返回 1 ,需要调整顺序
调整前顺序 :6 5
调整后顺序 :5 6 (升序)
【降序排列】
==========================================
第三种情况 s1=10 s2=12
public int compare(Object s1, Object s2){
return s2-s1;
}
结果返回 2 ,需要调整顺序
调整前顺序 :10 12
调整后顺序 :12 10 (降序)
==========================================
第四种情况 s1=18 s2=16
public int compare(Object s1, Object s2){
return s2-s1;
}
结果返回 -2 ,不需要调整顺序 顺序即 18 16 (降序)
以上是自己的理解,希望能给初学者一个参考。