按照对象中的不同参数对ArrayList进行排序
创始人
2024-08-23 19:00:44
0

要按照对象中的不同参数对ArrayList进行排序,可以使用Comparator接口来定义排序规则,并使用Collections.sort()方法对ArrayList进行排序。下面是一个示例代码:

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

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;
    }

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

class PersonNameComparator implements Comparator {
    @Override
    public int compare(Person p1, Person p2) {
        return p1.getName().compareTo(p2.getName());
    }
}

class PersonAgeComparator implements Comparator {
    @Override
    public int compare(Person p1, Person p2) {
        return Integer.compare(p1.getAge(), p2.getAge());
    }
}

public class Main {
    public static void main(String[] args) {
        ArrayList persons = new ArrayList<>();
        persons.add(new Person("John", 25));
        persons.add(new Person("Alice", 18));
        persons.add(new Person("Bob", 30));

        // 按照姓名排序
        Collections.sort(persons, new PersonNameComparator());
        System.out.println("按照姓名排序:");
        for (Person person : persons) {
            System.out.println(person);
        }

        // 按照年龄排序
        Collections.sort(persons, new PersonAgeComparator());
        System.out.println("按照年龄排序:");
        for (Person person : persons) {
            System.out.println(person);
        }
    }
}

输出结果:

按照姓名排序:
Person{name='Alice', age=18}
Person{name='Bob', age=30}
Person{name='John', age=25}
按照年龄排序:
Person{name='Alice', age=18}
Person{name='John', age=25}
Person{name='Bob', age=30}

相关内容

热门资讯

曝光透视!wpk安卓下载辅助,... 曝光透视!wpk安卓下载辅助,微乐河南小程序辅助器免费,步骤教程(真的有挂)-哔哩哔哩wpk安卓下载...
解谜透视!wepoker模拟器... 解谜透视!wepoker模拟器哪个,淘宝的微乐辅助是真的吗,攻略教程(有挂教程)-哔哩哔哩wepok...
教你透视!wepoker怎么获... 教你透视!wepoker怎么获得好牌,微信小程序微乐自建房脚本下载,步骤教程(有挂透明挂)-哔哩哔哩...
普及透视!wejoker私人辅... 普及透视!wejoker私人辅助软件,微信小程序微乐房间有技巧吗,资料教程(有挂细节)-哔哩哔哩1、...
辅助透视!wepoker可以透... 辅助透视!wepoker可以透视码,微乐小程序插件免费贴吧,总结教程(确实有挂)-哔哩哔哩1、游戏颠...
有挂透视!wpk辅助插件,微乐... 有挂透视!wpk辅助插件,微乐小程序辅助开发,手段教程(有挂详细)-哔哩哔哩wpk辅助插件能透视中分...
分享透视!wpk俱乐部是真的吗... 分享透视!wpk俱乐部是真的吗,微乐辅助软件购买平台,阶段教程(有挂方法)-哔哩哔哩所有人都在同一条...
专业透视!德州局脚本,微乐小程... 专业透视!德州局脚本,微乐小程序微乐家乡辅助器,要领教程(证实有挂)-哔哩哔哩1、点击下载安装,德州...
专业透视!wepoker辅助透... 专业透视!wepoker辅助透视软件,微乐小程序辅助收费,资料教程(果真有挂)-哔哩哔哩1、wepo...
辅助透视!hhpoker辅助软... 辅助透视!hhpoker辅助软件是真的么,小程序微乐斗地主辅助,项目教程(有挂猫腻)-哔哩哔哩1、每...