云服务器免费试用

如何使用Java sorted()函数进行多级排序

服务器知识 0 602

在Java中,你可以使用sorted()函数与Comparator结合实现多级排序

如何使用Java sorted()函数进行多级排序

import java.util.*;

class Person {
    String name;
    int age;
    double salary;

    public Person(String name, int age, double salary) {
        this.name = name;
        this.age = age;
        this.salary = salary;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", salary=" + salary +
                '}';
    }
}

public class MultiLevelSortingExample {
    public static void main(String[] args) {
        List<Person> people = Arrays.asList(
                new Person("Alice", 30, 1200.0),
                new Person("Bob", 25, 1000.0),
                new Person("Charlie", 30, 1100.0),
                new Person("David", 28, 900.0)
        );

        // 按年龄升序排序,如果年龄相同则按薪水升序排序
        Comparator<Person> comparator = Comparator.comparingInt((Person p) -> p.age)
                                                   .thenComparingDouble(p -> p.salary);

        List<Person> sortedPeople = people.stream()
                                           .sorted(comparator)
                                           .collect(Collectors.toList());

        System.out.println("Multi-level sorted list:");
        for (Person person : sortedPeople) {
            System.out.println(person);
        }
    }
}

在这个示例中,我们首先创建了一个Person类,并定义了一些属性。然后,我们创建了一个包含Person对象的列表,并使用Stream API 和 sorted() 函数对其进行多级排序。

我们创建了一个Comparator,首先根据年龄进行升序排序,然后根据薪水进行升序排序。最后,我们将排序后的结果收集到一个新的列表中,并打印出来。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942@qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何使用Java sorted()函数进行多级排序
本文地址: https://solustack.com/170732.html

相关推荐:

网友留言:

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。