Java TreeMultimap - 如何删除键和最近的键?

时间:2014-02-20 17:04:50

标签: java search iteration guava multimap

假设我有一对TreeMultimap(来自Google Guava库),带有成对的键/值。如果我有一个键(假设键的类型为int),我将如何获取该键和最近的键的值?

例如,我的treemultimap是:

1 - > “你好”

3 - > “HOLA”

5 - > “的Bonjour”

我的密钥是5.我想检索最近的密钥(将是3)。然后我可以使用该密钥来检索最近的值。

看起来这应该是一个简单的问题,导航到拥有的密钥,然后迭代到下一个,但我找不到任何功能与TreeMultimap,这将允许我这样做(即没有功能这使我可以访问节点本身,我可以允许检索密钥集合并以线性方式迭代它们,这违背了排序树的目的。我觉得有一个简单的解决方案,我错过了。非常感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

TreeMultimap.keySet()返回NavigableSet。因此,例如,可以使用k检索TreeMultimap.keySet().lower(k)的下一个较低的键。