按照对象中的不同参数对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}

相关内容

热门资讯

黑科技教程!德普之星透视辅助插... 德普之星透视辅助插件AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏攻略数据...
热点推荐!德扑之星辅助器怎么用... 『标题:当前标题』主打赛后复盘的 AI 游戏攻略黑科技走红,对局总结能力开挂。上传对局回放或者战绩截...
解说技巧!wpk辅助器是真的吗... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成wpk辅助器是真的吗解析、 AI 处...
今日百科!WPK多开,德扑之星... 一款 AI 游戏攻略黑科技工具上线,查攻略效率直接开挂。它整合版本更新、装备搭配、BOSS 打法、牌...
一分钟揭秘!!wepoker网... 很多人使用云端 AI 时,都担心wepoker网页版透视方法、内部资料上传带来隐私风险。这款本地运行...
大神推荐!如何下载wepoke... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成如何下载wepoker安装包解析、 ...
重大发现!wepoker破解版... wepoker破解版内购AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏攻略...
推荐攻略!wpk透视脚本,德普... 推荐攻略!wpk透视脚本,德普之星透视软件神器(从前是真的有辅助器)AI 是一款可以让一直输的玩家修...
热点推荐!wpk作弊,微扑克可... 您好,热点推荐!wpk作弊,微扑克可以开挂吗教程(从来真的是有开挂)这款游戏可以开挂的,确实是有挂的...
攻略讲解!wpk俱乐部是做什么... 您好,攻略讲解!wpk俱乐部是做什么的,德普之星开挂透视教程插件(本然有透视挂)这款游戏可以开挂的,...