我有一个用户描述列表,格式如下:
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;
}
但是按照这种方式排序是按照描述来排序的,而描述的第一项是一个数字,因此实际上是按照数字排序而不是用户姓名。