1. 程式人生 > 其它 >list按照物件某一屬性排序

list按照物件某一屬性排序

借鑑部落格:https://blog.csdn.net/feinifi/article/details/120302824

使用集合類Collections.sort()方法可對list資料排序,使用案例如下:

public static void main(String[] args) {
        List<Person> list = new ArrayList<Person>();
        list.add(new Person(1,"jack",18, false));
        list.add(new Person(2,"paul",28, true
)); list.add(new Person(3,"zion",20, false)); list.add(new Person(4,"jone",30, true)); list.forEach(System.out::println); //利用Collections.sort方法按照年齡排序,預設升序 // Collections.sort(list, (a, b)->{ // return b.getAge() - a.getAge();//降序 // }); // System.out.println("================================");
// list.forEach(System.out::println); //直接使用List集合sort方法按照姓名排序,預設字母升序
    //我改成了b-a讓t排在f前面,因為業務要求true為先
list.sort((a,b)->String.valueOf(b.isFinished()).compareTo(String.valueOf(a.isFinished()))); System.out.println("================================"); list.forEach(System.
out::println); }