Вы можете легко получить подмножество клавиш от одной клавиши до другой, используя .subMap(low,high).keySet()
или .headMap(high).keySet()
.
Найти правильный верхний ключ для n сложнее, поскольку прямого подхода нет, и итерация - единственный надежный способ.
(этот код не проверен )
public <K,V> SortedMap<K,V> subMap(SortedMap<K,V> map, int n) {
Iterator<K> it = map.keySet().iterator();
for (int i = 0; i<n && it.hasNext(); i++) {
it.next();
}
if (it.hasNext()) {
return map.headMap(it.next());
} else {
return map
}
}