java排序——java比较器——Comparable和Comparator
一。关键字:
Comparator、Comparable、Collections.sort()、Arrays.sort()
二。需求:
现在给学生排序,排序规则是:先按身高排;如果身高相同,再按年龄排;如果年龄相同,再按性别排;如果。。。
三。需求例子:
方法1:使用java.lang.Comparable接口
测试类:
运行结果:
方法2:使用java.util.Comparator接口
如果,Student没有实现Comparable接口(时而我们要直接引用别人写的类,并且我们不可以修改),怎么办?那么我们就使用上面测试代码中的方法二:Collections.sort(list, new MyComparator()); 自己实现一个内部类(或匿名类)。
四。分析总结:
1.集合框架使用Collections.sort()排序;Comparator更灵活;
2.数组使用Arrays.sort()
排序