利用Lambda表达式对 对象数组的排序

package os;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;

/**
 * 对象类的排序
 */
public class La03 {
    public static void main(String[] args) {
        List<Student> list = new ArrayList<>(List.of(
                new Student(1,"张三丰",20),
                new Student(5,"李四",87),
                new Student(3,"小乌龟",65),
                new Student(65,"尼古拉斯赵四",34),
                new Student(57,"巴啦啦小魔仙",28)
                ));
        System.out.println(list);
        //根据id排序
        list.sort((a,b)->a.getId()-b.getId());
        System.out.println("排序前的数组:"+list);
        list.sort(Comparator.comparingInt(Student::getId));
        System.out.println("根据id升序排序:"+list);
        //根据名字排序
        list.sort((a,b)->a.getName().compareTo(b.getName()));
        System.out.println(list);
        list.sort(Comparator.comparing(Student::getName));
        System.out.println(list);
        //名字降序
        list.sort((a,b)->b.getName().compareTo(a.getName()));
        System.out.println(list);
    }
}
经验分享 程序员 微信小程序 职场和发展