java 怎么将List里面数据排序?
学生实体类,包含姓名和年龄属性,
比较时先按姓名升序排序,如果姓名相同则按年龄升序排序。
第一种:实体类自己实现比较
(实现comparable接口:public interface Comparable<T> ,里面就一个方法声明:public int compareTo(T o); )
然后利用List类的sort(Comparator<? super E> c)方法或java.util.Collections工具类的sort(List<T> list) (其实里面就一句:list.sort(null); )进行排序:
结果:
第二种:借助比较器进行排序。
示例代码:
比较器java.util.Comparator类是一个接口(public interface Comparator<T> ),包含int compare(T o1, T o2);等方法:
我们的比较器要实现该接口并实现compare方法:
比较的时候可以利用List的sort(Comparator<? super E> c)方法(或者java.util.Collections工具类的sort(List<T> list, Comparator<? super T> c)方法)进行排序。
结果跟第一种方法一样: