除了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。但是,当您不需要它时,为什么要限制自己呢?

10-06 02:37