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

因此,例如,我的treemultimap是:

1->“您好”

3->“ Hola”

5->“ Bonjour”

我的密钥是5。我想检索最近的密钥(即3)。然后,我可以使用该键来获取最接近的值。

看来这应该是导航到所拥有的密钥然后迭代到下一个密钥的简单问题,但是我找不到TreeMultimap的任何允许我执行此功能的功能(即,没有任何功能可以使我执行此操作)访问节点本身,我可以允许检索键的集合并以线性方式遍历它们,这违背了拥有排序树的目的。我觉得有一个简单的解决方案,我错过了。任何帮助将不胜感激!

最佳答案

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

10-05 19:35