除了JVM版本,是否有任何理由使用 SortedMap
而不是 NavigableMap
? (NavigableMap
从1.6开始才出现; SortedMap
从1.2开始才出现)
我试图找到具有最大键的值,以使键SortedMap(如果严格地headMap(),然后再调用lastKey()
,然后再调用get()
),但是 NavigableMap.floorEntry()
似乎正是我所需要的。
的说明:仅作为示例,我正在处理具有不同行为模型的稀疏版本号。键可能是[0,2,5],因此版本号0和1由键#0的值处理,版本号2-4由键#2的值处理,而版本号> = 5由键5的值处理。
最佳答案
就个人而言,我坚信使用最不特定的界面为您提供所需的信息。这使您的意图更清晰,并且对可能的实现方式施加的限制更少。
大多数开发人员都希望Sorted集合用于迭代目的,或者可能是为了实现随机访问性能。我很少看到需要关闭元素的情况。
如果需要该功能,请继续。我认为TreeMap实际上实现了NavigableMap。但是,当您不需要它时,为什么要限制自己呢?