有什么理由使用SortedMap
而不是 NavigableMap
,除了JVM版本? (NavigableMap
从 1.6 开始才出现;SortedMap
从 1.2 开始出现)
我正在尝试找到具有最大键的值,例如键 <= 引用键 K0。我似乎无法弄清楚如何使用 SortedMap
来做到这一点(如果它是严格的 <,那么我会调用 headMap()
然后 lastKey ()
然后是 get()
),但是 NavigableMap.floorEntry()
似乎正是我所需要的。
澄清:仅作为示例,我正在处理具有不同行为模型的稀疏版本号范围。键可能是 [0, 2, 5],因此版本号 0 和 1 由键 #0 处的值处理,版本号 2-4 由键 #2 处的值处理,版本号 >= 5由键 #5 处的值处理。
最佳答案
就个人而言,我非常相信使用最不具体的界面来为您提供所需的内容。这使您的意图更清晰,对您可能的实现的限制更少。
大多数开发人员都希望排序集合用于迭代目的,也许是为了提高随机访问性能。我见过很少需要关闭元素的情况。
如果您需要该功能,请继续。我认为TreeMap实际上实现了NavigableMap。但是当你不需要它的时候,为什么要限制自己呢?
关于java - NavigableMap 与 SortedMap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4740167/