Not really, but you can use NavigableMap.subMap to implement this. eg.
NavigableMap<Integer, Value> map = int keyBase = key & ~((1 << n)-1); Map<Integer, Value> subMap = map.subMap(keyBase, true, keyBase + (1 << n), false);
If you want to perform a search based on the low bits instead of the high bits, you need to cancel the bit before adding and searching. This combines the least significant bit, the second least significant bit, the third least significant bit, etc.
source share