我有一组像这样的用户。
Set<User> users = new HashSet<User>();
用户包含名字,姓氏和年龄。我需要根据名字对用户进行排序。我怎样才能做到这一点?
答案 0 :(得分:2)
你不能。 HashSets(如HashMaps)是无序的。
请改用TreeSet。它会根据natural ordering或使用明确的comparator对元素进行排序。
答案 1 :(得分:0)
您可以使用以下内容:
Comparator<User> firstNameComparator = new Comparator<User>() {
@Override
public int compare(User u1, User u2) {
return u1.getFirstName().compareTo(u2.getFirstName());
}
};
Set<User> usersSorted = new TreeSet<User>(firstNameComparator);
usersSorted.addAll(users);