Найти тему
DEBAGanov

Java 671. Как вы сортируете HashMap по ключам?

HashMap - это коллекция, которая не гарантирует порядок элементов по умолчанию. Однако, если требуется отсортировать HashMap по ключам, то можно использовать следующий способ:

  • Создайте объект TreeMap с конструктором без аргументов. TreeMap - это реализация интерфейса SortedMap, который автоматически сортирует элементы в порядке возрастания ключей.
  • Добавьте все элементы из HashMap в TreeMap с помощью метода putAll().
  • Теперь элементы в TreeMap будут отсортированы по ключам. Можно получить доступ к отсортированным ключам и значениям путем обхода Map.EntrySet().

Например:

// Создаем HashMap
HashMap<String, Integer> hashMap = new HashMap<>();
hashMap.put("apple", 5);
hashMap.put("banana", 2);
hashMap.put("cherry", 8);

// Создаем TreeMap и добавляем все элементы из HashMap
TreeMap<String, Integer> treeMap = new TreeMap<>();
treeMap.putAll(hashMap);

// Получаем отсортированные ключи и значения
for (Map.Entry<String, Integer> entry : treeMap.entrySet()) {
String key = entry.getKey();
int value = entry.getValue();

System.out.println(key + " : " + value);
}

В этом примере мы создали HashMap и добавили в него три пары ключ-значение. Затем мы создали TreeMap и добавили все элементы из HashMap. После этого мы прошлись по отсортированным элементам в TreeMap с помощью метода entrySet() и вывели каждый ключ и значение в консоль.

Таким образом, для сортировки HashMap по ключам можно использовать класс TreeMap и добавить все элементы из HashMap в него с помощью метода putAll().

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov