publicclassListSortExample2{publicstaticvoidmain(String[]args){// 创建并初始化 ListList<Person>list=newArrayList<Person>(){{add(newPerson(1,30,"北京"));add(newPerson(2,20,"西安"));add(newPerson(3,40,"上海"));}};// 使用匿名比较器排序Collections.sort(list,newComparator<Person>(){@Over...
List<类>list; 代表某集合//返回 对象集合以类属性一升序排序list.stream().sorted(Comparator.comparing(类::属性一));//返回 对象集合以类属性一降序排序 注意两种写法list.stream().sorted(Comparator.comparing(类::属性一).reversed());//先以属性一升序,结果进行属性一降序list.stream().sorted(Comparator....
1、单条件升序: list.sort(Comparator.comparing(User::getId); 2、降序: list.sort(Comparator.comparing(User::getId).reversed()); 3、多条件升序排序: list.sort(Comparator.comparing(User::getId).thenComparing(User::getName)); 4、用 Collections.reverse 反转一个 List list.sort(Comparator.comparing(Us...
假设我们有一个名为sourceList的源List,其中包含多个对象,每个对象都有一个属性propertyName。 首先,我们需要使用Comparator.comparing方法创建一个比较器,来比较propertyName属性。然后,我们可以使用List.sort方法,传入该比较器来对源List进行排序。以下是示例代码: sourceList.sort(Comparator.comparing(Object::getPropertyN...
("David",25,5500));// 根据多个字段排序persons.sort(Comparator.comparing(Person::getSalary).reversed().thenComparing(Person::getAge));// 打印排序后的结果for(Personperson:persons){System.out.println(person);}}staticclassPerson{privateStringname;privateintage;privateintsalary;publicPerson(Stringname,...
List<Person>people=Arrays.asList(...);// 初始化人员列表// 使用Stream API和lambda表达式按年龄排序List<Person>sortedByAge=people.stream().sorted(Comparator.comparing(Person::getAge))// 使用方法引用简化代码.collect(Collectors.toList());// 或者直接在原始list上排序(不创建新的list)people.sort(Comp...
import java.util.Comparator; void main() { var cars = Arrays.asList(new Car("Volvo", 23400), new Car("Mazda", 13700), new Car("Porsche", 353800), new Car("Skoda", 8900), new Car("Volkswagen", 19900)); cars.sort(Comparator.comparing(Car::price)); ...
Collections.sort(models, new Comparator<String>() { @Override public int compare(String o1, String o2) { return o1.compareTo(o2); } }); 示例二 使用Comparator.comparing实现排序,同样可以指定按照哪个属性排序,且可以实现倒序。 package com.kaesar.java_common; ...
Java 8 中的 List 接口新增了一个 sort 默认方法: 接收Comparator 接口参数,这个接口在 Java 8 中被修饰为函数式接口: 然后我们就可以把 Comparator 接口参数改成了用Lambda 表达式的形式,用 Lambda 表达式干掉了匿名内部类,让代码更简洁。 使用示例如下: ...
Alex","Mike");Comparator<String>comparator=Comparator.comparing(String::length);names.sort(comparator...