Arrays怎么降序排列一个对象数组

   2025-02-13 4190
核心提示:要降序排列一个对象数组,可以使用Arrays类的sort方法,并通过传递一个自定义的Comparator对象来实现。首先,创建一个实现Compar

要降序排列一个对象数组,可以使用Arrays类的sort方法,并通过传递一个自定义的Comparator对象来实现。

首先,创建一个实现Comparator接口的类,重写compare方法来定义对象之间的比较规则。在compare方法中,将要比较的两个对象的比较结果进行反转,即返回后一个对象与前一个对象的比较结果的负值,即可实现降序排列。

然后,在主程序中调用Arrays类的sort方法,传递要排序的对象数组和自定义的Comparator对象作为参数。

下面是一个示例代码,演示如何降序排列一个Person对象数组根据年龄的大小:

import java.util.*;class Person {    private String name;    private int age;    public Person(String name, int age) {        this.name = name;        this.age = age;    }    public String getName() {        return name;    }    public int getAge() {        return age;    }}class AgeComparator implements Comparator<Person> {    @Override    public int compare(Person p1, Person p2) {        // 降序排列        return p2.getAge() - p1.getAge();    }}public class Main {    public static void main(String[] args) {        Person[] persons = {            new Person("Alice", 25),            new Person("Bob", 30),            new Person("Charlie", 20)        };        Arrays.sort(persons, new AgeComparator());        for (Person person : persons) {            System.out.println(person.getName() + " - " + person.getAge());        }    }}

运行该代码,输出结果如下:

Bob - 30Alice - 25Charlie - 20

可以看到,对Person对象数组按照年龄降序排列成功。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言