【发布时间】:2022-08-15 21:20:54
【问题描述】:
我正在用 Java 实现 NavigableMap-implementing LinkedHashMap。 (似乎没有很多(任何?)原因为什么LinkedHashMap 没有实现NavigableMap,但我离题了......)
我已经通过迭代entrySet() 编写了lowerKey()、lowerEntry()、higherKey() 和higherEntry()。在这些情况下,我看不到任何方法可以避免迭代整个 entrySet()。
对于floorKey()、floorEntry()、ceilingKey()和ceilingEntry(),在密钥存在的情况下,考虑到我已经可以获得值,我想避免迭代entrySet()的费用与普通的get()。
有没有办法获取特定键的Map.Entry,而不仅仅是值?谢谢。
-
LinkedHashMap实现NavigableMap没有意义,因为它没有排序 - 它是按插入顺序排序的。除非您对LinkedHashMap有其他概念? -
NavigableMap的合同似乎取决于Map是订购, 不是排序的. -
你知道
NavigableMap继承自SortedMap吗? -
我没有注意到这一点,但这并没有真正影响我的目的。
-
此外,即使
SortedMap似乎也依赖于订购而且不一定排序.
标签: java subclassing linkedhashmap