Java:来自 TreeMap 条目的迭代器?

Java: iterator from TreeMap entry?

在Java中,TreeMap<K,V>使用RB树存储条目,允许使用map.entrySet().iterator()进行有序迭代,同时保证在log(N)时间内插入和查找.

TreeMap 还提供了查找给定键的上限和下限的方法:map.floorEntry(k)map.ceilingEntry()map.lowerEntry(k)map.higherEntry()。但是,这些的 return 值是一个 Map.Entry<K,V> 实例,不会直接允许访问相邻条目。我想访问一个假设条目的潜在邻居,因为它有密钥。

有没有办法从 TreeMap 条目获取迭代器或做我想做的事情?

比较习惯C++的std::map<K,V> class,我在这里不知所措...

注意 我愿意接受使用 java.util 以外的容器库的解决方案,只要它有一个具有合理时间复杂度的排序映射容器保证。

可以将返回的Map.Entry<K, V>的key作为tailMap(K fromKey)headMap(K toKey)的参数,对结果进行迭代