HashMap Сортировать по значению AtomicInteger - PullRequest
2 голосов
/ 29 сентября 2019

У меня есть HashMap и я пытаюсь отсортировать обратный порядок по значению, и мой код ниже работает по возрастанию,

LinkedHashMap<String, AtomicInteger> collect = counterMap.entrySet()
                .stream()
                .sorted(Comparator.comparingInt(a -> a.getValue().get()))
                .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (e1, e2) -> e1, LinkedHashMap::new));

К сожалению, я не смог использовать reverseOrder () в отсортированном методе.

Любые предложения или идеи приветствуются.спасибо!

1 Ответ

2 голосов
/ 29 сентября 2019

Вам нужно помочь компилятору разрешить универсальные типы.

Comparator.<Map.Entry<String, AtomicInteger>>comparingInt(a -> a.getValue().get())
          .reversed()

В противном случае предполагается, что a является Object и a.getValue() не будет компилироваться.

Этот мой ответ , который я дал несколько дней назад, тесно связан.

...