首页主机资讯如何使用Java sorted()函数进行多级排序

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

时间2024-08-27 16:26:03发布访客分类主机资讯浏览1182
导读:在Java中,你可以使用sorted( 函数与Comparator结合实现多级排序 import java.util.*; class Person { String name; int age; double s...

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

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://pptw.com/jishu/696196.html
Java sorted()函数对原始数据的影响 如何结合Lambda表达式使用Java sorted()函数

游客 回复需填写必要信息