溫馨提示×

java多條件排序怎么實現(xiàn)

小億
143
2024-03-02 13:32:33
欄目: 編程語言

在Java中,可以使用Comparator接口來實現(xiàn)多條件排序。Comparator接口有一個compare方法,可以根據(jù)需要實現(xiàn)多個比較條件,然后在排序時使用這個Comparator實現(xiàn)多條件排序。

以下是一個示例代碼,演示如何實現(xiàn)多條件排序:

import java.util.Comparator;

public class MultiConditionSort {

    public static void main(String[] args) {
        // 定義一個Person類
        class Person {
            String name;
            int age;

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

            @Override
            public String toString() {
                return name + " - " + age;
            }
        }

        // 創(chuàng)建一個Person對象數(shù)組
        Person[] people = {
                new Person("Alice", 30),
                new Person("Bob", 25),
                new Person("Charlie", 35),
                new Person("David", 20)
        };

        // 定義一個Comparator,實現(xiàn)多條件排序
        Comparator<Person> comparator = Comparator
                .comparing((Person p) -> p.age) // 按年齡升序排序
                .thenComparing(p -> p.name);     // 年齡相同時,按姓名升序排序

        // 使用Comparator進(jìn)行排序
        Arrays.sort(people, comparator);

        // 打印排序結(jié)果
        for (Person person : people) {
            System.out.println(person);
        }
    }
}

在上面的示例中,我們定義了一個Person類,包含姓名和年齡兩個屬性。然后創(chuàng)建了一個Person對象數(shù)組,并定義了一個Comparator實現(xiàn)多條件排序,先按年齡升序排序,年齡相同時按姓名升序排序。最后使用Arrays.sort方法對Person數(shù)組進(jìn)行排序,并打印排序結(jié)果。

通過這種方式,我們可以很方便地實現(xiàn)多條件排序。

0