Я использую TreeMap и хочу получить K-й наименьший ключ. Я написал следующую реализацию:
public static Long kthKey(TreeMap<Long, MyObject> treeMap, int kth) {
Long currentKey = treeMap.firstKey();
for (int i = 1; i < kth; i++) {
currentKey = treeMap.higherKey(currentKey);
}
return currentKey;
}
Это довольно эффективно с точки зрения памяти, но, возможно, не с точки зрения времени работы.
Есть ли более эффективный способ сделать это?
treeMap.navigableKeySet()
и итератор. - person Andrew Logvinov   schedule 09.08.2014