Students students = new Students("李四1","20","男","123456789978654","1010","四川省",1000); Students students3 = new Students("张三1","21","女","258741369741","1010","重庆市",12000); Students students1 = new Students("李四2","20","男","123456789978654","1010","四川省",11000); Students students2 = new Students("张三2","21","女","258741369741","1010","重庆市",19000); Students students4 = new Students("王麻子","35","女","369856311785","2020","甘肃省",800); List<Students> studentsList = new ArrayList<>(); (students); (students1); (students2); (students3); (students4); ((studentsList)); ("排序前:"+(studentsList)); //根据age来排序 策略模式 (studentsList, new Comparator<Students>() { @Override public int compare(Students o1, Students o2) { return ().compareTo(()); } }); ("排序后:"+(studentsList)); //根据money来排序 策略模式 (studentsList, new Comparator<Students>() { @Override public int compare(Students o1, Students o2) { return ()-(); } }); ("排序后:"+(studentsList)); /** * 根据tream()进行排序 */ //根据年龄升序排序 List<Students> list1 = ().sorted((Students::getAge)).collect(()); ("根据年龄升序排序后:"+(studentsList)); //根据年龄进行降序排序 List<Students> list2 = ().sorted((Students::getAge).reversed()).collect(()); ("根据年龄降序排序后:"+(studentsList)); //年龄相同,在根据money升序排序 List<Students> list3 = ().sorted((Students::getAge).reversed(). thenComparing(Students::getMoney)).collect(()); ("根据年龄降序排序后,相同年龄再根据money排序:"+(studentsList));