У нас была структура данных, которая выглядела примерно так:
Map<String, Double> responseMap;
И сортировали эту карту в порядке убывания на основе значения как:
responseMap.entrySet().stream()
.sorted((Map.Entry.<String, Double>comparingByValue().reversed()))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,
(e1, e2) -> e1, LinkedHashMap::new));
Теперь структура данных этой карты изменилась на что-то вроде:
Map<String, Tuple2<Double, Integer> responseMap; //org.jooq.lambda.tuple.Tuple2
Как мы можем аккуратно отсортировать эту карту по новому значению (на основе значения Double и Integer)?