Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
12 Мар 2023
1 мин
197

Сортировка значений в Map по ключам в Java

Часто разработчики сталкиваются с задачей сортировки значений в Map по ключам. Например, представим, что есть Map, где и ключи, и значения — строки.

Часто разработчики сталкиваются с задачей сортировки значений в Map по ключам. Например, представим, что есть Map, где и ключи, и значения — строки.

Map<String, String> questions = new HashMap<>();
questions.put("question3", "3");
questions.put("question1", "1");
questions.put("question2", "2");

При выводе этой Map в консоль мы получим элементы в произвольном порядке, так как обычный HashMap в Java не гарантирует порядок элементов. Но что делать, если требуется вывести вопросы в порядке их номеров?

Решить эту проблему помогут коллекции, которые поддерживают упорядоченность элементов, например, TreeMap. TreeMap — это реализация Map, которая поддерживает порядок элементов по возрастанию ключа.

Map<String, String> sortedQuestions = new TreeMap<>(questions);

Теперь, если выведем sortedQuestions в консоль, мы увидим, что элементы выводятся в порядке возрастания ключей.

for (Map.Entry<String, String> entry : sortedQuestions.entrySet()) {
    System.out.println(entry.getKey() + " : " + entry.getValue());
}

Вывод будет следующим:

question1 : 1
question2 : 2
question3 : 3

Таким образом, для сортировки значений в Map по ключам в Java можно использовать коллекцию TreeMap. Это простое и эффективное решение задачи.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий