如何在java中使用EnumMap保留顺序

Dan*_*elD 6 java

我有一个我正在使用的EnumMap,我将需要保留我传入的项目的顺序.我知道在使用HashMap时,我可以初始化LinkedHashMap以保持顺序,如下所示:

HashMap<String, List<String>> contentTypeToIdList = new LinkedHashMap<String, List<String>>();
Run Code Online (Sandbox Code Playgroud)

但是,我想使用EnumMap.我怎么能做这样的事情:

EnumMap<ContentType, List<String>> contentTypeToIdList = new LinkedHashMap<ContentType, List<String>>();
Run Code Online (Sandbox Code Playgroud)

s1m*_*nw1 5

正如 API 告诉我们的:

枚举映射按照其键的自然顺序(声明枚举常量的顺序)进行维护。这反映在集合视图(keySet()、entrySet() 和values())返回的迭代器中。

这意味着它是内部排序的,并且根本不应该以不同的方式排序,例如根据您需要的插入顺序。