java - 如何根据java中的Enum字段对一组对象进行排序
问题描述
猜我们有这样的枚举
enum Role{ MANAGER, ADMIN, USER }
我们也上课
public class User{
String userName;
Role userRole;
}
然后我们有一组用户。我想根据角色枚举对这个用户集进行排序。具有 MANAGER 角色的用户必须先到,具有 USER 角色的用户必须走到集合的末尾。
解决方案
假设您有一个名为 的列表中的值yourList
。当然,如果更符合您的需求,您可以直接添加到集合中。
SortedSet<User> set = new TreeSet<User>(Comparator.comparing(User::userRole)
.thenComparing(User::userName));
set.addAll(yourList)
推荐阅读
- c++ - 如何使用模板对 const 使用运算符重载
- javascript - 不匹配时,正则表达式需要很长时间
- python - 如何获得模型预测的最后一个索引?
- getstream-io - GetStream:仅与特定用户“共享”活动
- sorting - 仅对大于零的值进行排序,并仅显示已排序的前 32 个
- css - 如何使横幅部分中的横幅和图像响应不同的屏幕尺寸(例如平板电脑)
- angular - Angular:通过 ts-patch 的 ts-nameof
- python - 在 mongoengine 中将字段更新为 null
- c# - 为什么我在 WPF 中的触发事件不起作用?
- javascript - 如何从firebase存储自动下载文件而不是使用url - Javascript