Java 集合之给ArrayList排序
ArrayList的排序可以借助Collections工具类的sort(List list)以及重载的sort(List list, Comparator<? super T> c)方法;其中要想使用sort(List lis)方法进行排序集合元素必须实现comparable接口中的compareTo方法;使用重载的sort(List list, Comparator<? super T> c)方法则要传入一个自定义构造器,可以使用匿名内部类的方式传入构造器;
- 1、如果是集合元素类型是8大基本类型的包装类(如Interge、Character等)或者是String类源码中这些类已经实现了Comparable接口,下面拿Integer类举例:
- 对于对象的排序
要想使用sort(List list)方法给集合排序集合元素必须实现comparable接口中的compareTo方法,所以要想实现对象自定义排序就要在compareTo方法里面做文章:
例子:
Person类:
测试代码:
输出结果:
我们会发现使用sort(List list)方法侵入性比较高,所以不建议使用这个方法,我们可以使用它的重载的sort(List list, Comparator<? super T> c)方法,以匿名内部类的方式传入构造器来完成排序,上面的例子使用此方法演示如下:
Person类:
测试代码:
结果和上一种方法是一样的;
仅供参考!!!感谢阅读!!!欢迎指正!!!!
文章转载: