草庐IT

NavigableMap

全部标签

java - 是否有一个 Java map 实现返回最近的包含键

我正在寻找一个Map实现,它返回与请求的键关联的值,或者如果不存在则返回最接近的值,根据请求返回更高或更低的值(连同实际键,可能作为Map.Entry)。例如,如果Map包含以下字符串键/值对:alpha:AYE,beta:BEE,charlie:CEE,delta:DEE然后你要求“加拿大”的“下一个更高”你会得到查理:中东欧当然,如果您要求“charlie”的Nexthigher或Nextlower,您会得到charlie:CEE它应该使用比较器,这样如果它包含数字键1、2、3并且我为1.4请求Nexthigher,它会返回2键。 最佳答案

java - Java 世界中有可变键长的 Map 吗?

我需要一个Map,但是当我调用get(key,n)时,它不仅应该返回具有搜索键值的所有记录,而且还应该返回键的最后n个有效位与搜索相同的所有记录key(例如应用类似key&(1是否已经在J​​ava中实现了类似的东西? 最佳答案 不完全是,但你可以使用NavigableMap.subMap实现这一点。例如NavigableMapmap=intkeyBase=key&~((1subMap=map.subMap(keyBase,true,keyBase+(1如果要根据最低位而不是最高位进行搜索,则必须在添加和搜索之前反转位。这会将最低位

java - Java 的 NavigableMap.floorEntry、ceilingEntry 的 C Sharp 等价物

我在Java中多次使用NavigableMap接口(interface),它很方便。具体来说,我喜欢使用它的floorEntry和ceilingEntry方法,它们分别为您提供下一个最低或最高的map条目。我试图在C#中找到这些的等价物,但我做空了。下面是我想要获得的示例。我查看了C#SortedDictionary和扩展方法,虽然看起来差不多,但我还没有找到我正在寻找的东西。谢谢!大号packagecom.lewis.needsanavigablemapincsharp;importjava.util.NavigableMap;importjava.util.TreeMap;publ

NavigableMap抛出不需要的例外

来自NavigableMap的Java文档:可通航地图的FirstKey()返回与此地图中最小键关联的键值映射,如果映射为空,则返回null。但是,当我运行以下程序时,我会得到NoSuchElementExceptionpublicclassTest1{publicstaticvoidmain(Stringa[]){NavigableMapmap=newTreeMap();Objectobj=map.firstKey();}}我不确定我在这里是否缺少东西,请让我知道为什么它是这样的?看答案作为firstKey()功能的文档指出:/***Returnsthefirst(lowest)keycur

java - 如何在 Java 中循环 NavigableMap

有什么方法可以在Java中循环NavigableMap吗?我想访问NavigableMap中的所有项目。 最佳答案 与循环任何集合的方式相同,使用迭代器或for-each循环。NavigableMapmap=...for(Kkey:map.keySet())//iteratekeys.for(Vvalue:map.values())//iteratevalues.for(Entryentry:map.entrySet())//iteratekey/valueentries. 关于java

java - Java 中不可修改的 NavigableSet/NavigableMap?

java.util.Collections有几个unmodifiable方法,它们通过将集合包装在禁止突变操作的装饰器中来提供不可修改的CollectionView。Java6添加了对java.util.NavigableSet和java.util.NavigableMap的支持。我希望能够拥有不可修改的NavigableSet和NavigableMap,但是java.util.Collections#unmodifiableSortedSet(SortedSet)和java.util.Collections#unmodifiableSortedMap(SortedMap)是不够的,因