gpt4 book ai didi

java - 按姓氏对对象的 ArrayList 排序,然后按名字排序

转载 作者:搜寻专家 更新时间:2023-10-31 08:07:31 26 4
gpt4 key购买 nike

我有一个基于运动的不同类型球员的数组列表。我需要按姓氏对 arrayList 中的玩家列表进行排序才能开始。如果 2 个玩家具有相同的姓氏,则需要按名字对这 2 个玩家进行排序。示例:格式化姓氏名字

Williams Robert
Phillips Warren
Doe John
Phillips Mark

输出应该是

Doe John
Phillips Mark
Phillips Warren
Williams Robert

我现在只有按第一个或最后一个排序。我在我的代码中的最后一个自动取款机上有它。

public static void sortPlayers(ArrayList playerList) {
for (int i = 0; i < playerList.size(); i++) {
for (int j = 0; j < playerList.size(); j++) {
Collections.sort(playerList, new Comparator() {

public int compare(Object o1, Object o2) {
PlayerStats p1 = (PlayerStats) o1;
PlayerStats p2 = (PlayerStats) o2;
return p1.getPlayerLastName().compareToIgnoreCase(p2.getPlayerLastName());
}
});
}

}
}

最佳答案

将比较器更改为:

public int compare(Object o1, Object o2) {
PlayerStats p1 = (PlayerStats) o1;
PlayerStats p2 = (PlayerStats) o2;
int res = p1.getPlayerLastName().compareToIgnoreCase(p2.getPlayerLastName());
if (res != 0)
return res;
return p1.getPlayerFirstName().compareToIgnoreCase(p2.getPlayerFirstName())
}

关于java - 按姓氏对对象的 ArrayList 排序,然后按名字排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6720236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com