是否有任何原因EnumMap和EnumSet不可导航 [英] Is there any reason EnumMap and EnumSet are not Navigable
问题描述
Enum是可比较的,这意味着您可以拥有
Enum is Comparable which means you can have
NavigableSet<AccessMode> modes = new TreeSet<>();
NavigableMap<AccessMode, Object> modeMap = new TreeMap<>();
这些有O(ln N)次访问时间。
These have O(ln N) access times.
枚举集合具有O(1)个访问时间,但不可导航
The Enum collections have O(1) access times, but are not Navigable
NavigableSet<AccessMode> modes = EnumSet.noneOf(AccessMode.class); // doesn't compile
NavigableMap<AccessMode, Object> modeMap = new EnumMap<>(AccessMode.class); // doesn't compile
我想知道是否有一个原因Enum集合不可导航排序)。即我缺少某些东西?
I was wondering if there was a reason Enum collections were not Navigable (and Sorted). i.e Am I missing something?
推荐答案
我最好的猜测是,导航性不被视为枚举集的主要用例。在实现中没有什么会阻止可导航性。将 TreeSet
和 TreeMap
覆盖了将一组枚举成员的需要与可导航性结合的罕见用例。
My best guess is that navigability was not seen as a major use case for enum sets. There is nothing in the implementation that would prevent navigability. The rare use cases that combine the need for a set of enum members with navigability are covered by the TreeSet
and TreeMap
.
这篇关于是否有任何原因EnumMap和EnumSet不可导航的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!