Как отсортировать map по значению java
4 года назад
Человек-Молекула
Отсортировать мап по значению можно преобразовав ее в LinkedHashMap или TreeMap :
LinkedHashMap
TreeMap
import java.util.Comparator; import java.util.LinkedHashMap; import java.util.Map; import java.util.TreeMap; import java.util.stream.Collectors; public class App { public static void main(String[] args) { Map<String, Integer> myMap = Map.of("Ivan", 2000, "Petr", 1990, "Egor", 1995); Map<String, Integer> sortedMap1 = myMap.entrySet().stream() .sorted(Map.Entry.comparingByValue()) .collect(Collectors.toMap( Map.Entry::getKey, Map.Entry::getValue, (a, b) -> a, LinkedHashMap::new )); System.out.println(sortedMap1); // => {Petr=1990, Egor=1995, Ivan=2000} Map<String, Integer> sortedMap2 = new TreeMap<String, Integer>( Comparator.comparing(myMap::get)); sortedMap2.putAll(myMap); System.out.println(sortedMap2); // => {Petr=1990, Egor=1995, Ivan=2000} } }
3 года назад
Сергей Якимович
Java-разработчик
Изучите Java и фреймворк Spring Boot и REST API
от 6 792 ₽
Посмотреть →
СИКП на Java
Изучите фундаментальные принципы программирования на Java
от 3 900 ₽
Fullstack-разработчик на Java
от 7 934 ₽
Spring Boot
Навык работы с Spring Boot для масштабируемых веб-приложений
Автоматизатор тестирования на Java
Изучите Java и фреймворк для UI- и API-автотестов
от 4 281 ₽
Полный список доступных курсов по разным направлениям
Похожие вопросы
Курсы по веб-разработке