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<>(); studentsList.add(students); studentsList.add(students1); studentsList.add(students2); studentsList.add(students3); studentsList.add(students4); System.out.println(JSON.toJSONString(studentsList)); System.out.println("排序前:"+JSON.toJSONString(studentsList)); //根据age来排序 策略模式 Collections.sort(studentsList, new Comparator<Students>() { @Override public int compare(Students o1, Students o2) { return o1.getAge().compareTo(o2.getAge()); } }); System.out.println("排序后:"+JSON.toJSONString(studentsList)); //根据money来排序 策略模式 Collections.sort(studentsList, new Comparator<Students>() { @Override public int compare(Students o1, Students o2) { return o1.getMoney()-o2.getMoney(); } }); System.out.println("排序后:"+JSON.toJSONString(studentsList)); /** * 根据tream()进行排序 */ //根据年龄升序排序 List<Students> list1 = studentsList.stream().sorted(Comparator.comparing(Students::getAge)).collect(Collectors.toList()); System.out.println("根据年龄升序排序后:"+JSON.toJSONString(studentsList)); //根据年龄进行降序排序 List<Students> list2 = studentsList.stream().sorted(Comparator.comparing(Students::getAge).reversed()).collect(Collectors.toList()); System.out.println("根据年龄降序排序后:"+JSON.toJSONString(studentsList)); //年龄相同,在根据money升序排序 List<Students> list3 = studentsList.stream().sorted(Comparator.comparing(Students::getAge).reversed(). thenComparing(Students::getMoney)).collect(Collectors.toList()); System.out.println("根据年龄降序排序后,相同年龄再根据money排序:"+JSON.toJSONString(studentsList));
List中的sort排序方法
最新推荐文章于 2023-03-10 23:25:12 发布