在Java世界中是否存在具有可变密钥长度的Map?

前端之家收集整理的这篇文章主要介绍了在Java世界中是否存在具有可变密钥长度的Map?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要一个Map但是当我调用get(key,n)时,它应该不仅应该返回具有搜索键值的所有记录,而且还应该返回键的n个最后有效位与搜索键相同的所有记录(例如,应用诸如key&(1<<(n 1)-1))之类的东西. 是否已经在 Java中实现了这样的东西?

解决方法

不完全,但您可以使用 NavigableMap.subMap来实现这一点.例如
NavigableMap<Integer,Value> map =
int keyBase = key & ~((1 << n)-1);
Map<Integer,Value> subMap = map.subMap(keyBase,true,keyBase + (1 << n),false);

如果要基于最低位而不是最高位进行搜索,则必须在添加搜索之前反转这些位.这将最低位,第二低位和第三低位等组合在一起.

猜你在找的Java相关文章