Java

Java Stream如何实现元素的自定义比较

小樊
116
2024-08-17 15:49:36
栏目: 编程语言

在Java Stream中,可以通过使用sorted方法来实现元素的自定义比较。sorted方法可以接受一个Comparator参数,该参数用于实现元素的自定义比较逻辑。

例如,假设我们有一个包含Person对象的列表,每个Person对象有一个age属性,我们想按照age属性进行降序排序。我们可以通过以下方式实现:

List<Person> persons = Arrays.asList(
        new Person("Alice", 25),
        new Person("Bob", 30),
        new Person("Carol", 20)
);

List<Person> sortedPersons = persons.stream()
        .sorted(Comparator.comparingInt(Person::getAge).reversed())
        .collect(Collectors.toList());

sortedPersons.forEach(person -> System.out.println(person.getName() + " - " + person.getAge()));

在上面的代码中,我们使用sorted方法和Comparator.comparingInt方法来指定按照Person对象的age属性进行排序,同时使用reversed方法来指定降序排序。最后,我们通过collect方法将排序后的结果收集到一个新的列表中。

0
看了该问题的人还看了