按照对象的两个字段进行排序。Java
创始人
2024-08-23 19:00:33
0

以下是一个Java代码示例,展示如何按照对象的两个字段进行排序:

首先,创建一个Person类,该类具有两个字段:name和age。

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

接下来,创建一个Comparator类,该类用于按照name字段进行排序,如果name相同,则按照age字段进行排序。

import java.util.Comparator;

public class PersonComparator implements Comparator {
    @Override
    public int compare(Person person1, Person person2) {
        int nameComparison = person1.getName().compareTo(person2.getName());

        if (nameComparison != 0) {
            return nameComparison;
        }

        return Integer.compare(person1.getAge(), person2.getAge());
    }
}

最后,使用Collections.sort()方法对Person对象列表进行排序,使用PersonComparator作为比较器。

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

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

        Collections.sort(personList, new PersonComparator());

        for (Person person : personList) {
            System.out.println("Name: " + person.getName() + ", Age: " + person.getAge());
        }
    }
}

运行上述代码,将按照name字段进行排序,如果name相同,则按照age字段进行排序。输出将如下所示:

Name: Alice, Age: 25
Name: Alice, Age: 30
Name: Bob, Age: 30
Name: Charlie, Age: 20

相关内容

热门资讯

透视好友!pokemmo手机版... 透视好友!pokemmo手机版修改器(透视)都是真的是有挂(详细辅助德州论坛)1、透视辅助简单,软件...
透视讲解!hhpoker免费透... 透视讲解!hhpoker免费透视脚本(透视)好像真的是有挂(详细辅助微扑克教程)1、不需要AI权限,...
透视透视!aapoker公共底... 透视透视!aapoker公共底牌(透视)一贯存在有挂(详细辅助教你攻略)1、下载好辅助软件之后点击打...
透视代打!wepoker透视有... 透视代打!wepoker透视有用吗(透视)总是真的有挂(详细辅助透明教程)1、全新机制【wepoke...
透视软件!大菠萝免费辅助(透视... 透视软件!大菠萝免费辅助(透视)果然是有挂(详细辅助透视教程)1、系统规律教程、辅助透视等服务,为用...
透视肯定!hhpoker有后台... 透视肯定!hhpoker有后台操作吗(透视)一直是真的有挂(详细辅助技巧教程);1)辅助挂:进一步探...
透视实锤!wepoker私人局... 透视实锤!wepoker私人局外卦(透视)果然是有挂(详细辅助揭秘教程);1、许多玩家不知道辅助软件...
透视黑科技!hhpoker德州... 透视黑科技!hhpoker德州透视(透视)总是真的是有挂(详细辅助解说技巧)1、在ai机器人技巧中,...
透视游戏!wepoker辅助器... 透视游戏!wepoker辅助器安装包定制(透视)原来真的有挂(详细辅助安装教程)所有人都在同一条线上...
透视软件!werplan外挂(... 透视软件!werplan外挂(透视)确实是有挂(详细辅助详细教程)1、这是跨平台的黑科技,在线的操作...