gpt4 book ai didi

java - 按名称排序列表

转载 作者:行者123 更新时间:2023-12-02 07:57:22 24 4
gpt4 key购买 nike

我有一个包含如下用户描述的列表:

0_Mary_Rose_maryrose@gmail.com
1_John_Smith_johnsmith@gmail.com

如何按字母顺序对列表进行排序?

我有这个方法:

protected List<String> ShowUsers() {                                   // show users list
List<String> allUsersDesc = new ArrayList<>(); // creates list for users description
for (Map.Entry<Integer, User> user : _userMap.entrySet()) { // scrolls users list
allUsersDesc.add(user.getValue().getUserDescription()); // adds registered users
}
Collections.sort(allUsersDesc); // sorts by description
return allUsersDesc; // return description list }

getUserDescription :

    public String getUserDescription(){
String description = "" + getUserId() + "-" + getName() + "-" + getEmail() + "-" + getBehavior() + "-" + isActive();
return description;
}

但是像这样,它是按描述排序的,并且描述的第一项是数字,因此它是按数字排序,而不是按用户名排序。

最佳答案

您可以使用下面的代码删除整数,然后比较字符串

 Collections.sort(list, new Comparator<String>() {
public int compare(String o1, String o2) {
return removeInt(o1).compareTo(removeInt(o2));
}
String removeInt(String s) {
String num = s.replaceAll("[0-9]+", "");
return num;
}
});

关于java - 按名称排序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58916788/

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