У меня есть HashMap, как это:
public final Map<String, MyClass> myMap = new HashMap<>();
А теперь мне нужно отсортировать эту хэш-карту, определить limt и преобразовать в ArrayList. Я сделал код ниже:
List<MyClass> collect = myMap.values().stream().sorted((m1, m2) -> Double.compare(m2.getSomething(), m1.getSomething())).limit(amount).collect(Collectors.toList());
Проблема в том, что этот код не является производительным и эффективным. myMap огромен, поэтому его завершение занимает слишком много времени.
Есть идеи, как бороться со сценарием?
Любая помощь приветствуется. Спасибо!