草庐IT

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 - TreeMap 操作的时间复杂度- subMap, headMap, tailMap

有谁知道像subMap、headMap这样的TreeMap操作的时间复杂度。尾图。get、put等操作的时间复杂度是O(logn)。但是javadoc并没有说明上述操作的复杂性。我能想到的最坏情况复杂度为O(n),因为如果集合包含最后一个元素,它将遍历整个列表。我们可以确认吗? 最佳答案 对于那些手头有源代码的问题非常有用,因为有足够的IDE支持,您可以简单地浏览实现。查看TreeMap的源代码时可以看出,这三种方法都是通过使用constructorofAscendingSubMap构建了一个新的map。:publicNavigab