首页 > 解决方案 > 如何根据java中的Enum字段对一组对象进行排序

问题描述

猜我们有这样的枚举

enum Role{ MANAGER, ADMIN, USER }

我们也上课

public class User{
     String userName;
     Role userRole;
}

然后我们有一组用户。我想根据角色枚举对这个用户集进行排序。具有 MANAGER 角色的用户必须先到,具有 USER 角色的用户必须走到集合的末尾。

标签: javaenums

解决方案


假设您有一个名为 的列表中的值yourList。当然,如果更符合您的需求,您可以直接添加到集合中。

SortedSet<User> set = new TreeSet<User>(Comparator.comparing(User::userRole)
   .thenComparing(User::userName));
set.addAll(yourList)

推荐阅读