Java Enum组按其值枚举

时间:2015-11-17 10:13:56

标签: java arrays arraylist enums

你能帮我解决一些问题吗?我的java应用程序中有枚举:

   public enum EnumKey {
       ALPHA("group1"), 
       BETA("group2"),
       GAMMA("group3"),
       SIGMA("group2"),
       DELTA("group2")
       // and other values with "group1" or "group2" or "group3", constructors and getters
       private String groupName;
   }

我希望获得类似Map<String, List<EnumKey>>的内容,其中keys是我指定的groupNames,而values被分组并按groupName enumKey list排序(我只有三个指定的groupNames)。我希望我的问题很清楚。

希望你能帮我找到一个优雅的方法来做到这一点。

2 个答案:

答案 0 :(得分:0)

只需使用您自己建议的签名在EnumKey内创建地图。

在静态代码块中迭代枚举中的所有值,并将它们添加到映射中,如果它存在则将它们添加到相应的列表中,如果不创建列表然后添加它。

答案 1 :(得分:0)

这应该生成您需要的地图:

{{1}}
相关问题