Сортировка Map по ключам в Java — TreeMap и Stream.sorted

Чтобы понять этот пример, нужно знать следующие темы:

  • Интерфейс Map в Java

  • HashMap в Java

  • TreeMap в Java

Пример: Сортировка map по ключам с помощью TreeMap

import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;

class Main {
  public static void main(String[] args) {

    // создаём hashmap
    Map<String, String> languages = new HashMap<>();
    languages.put("pos3", "JS");
    languages.put("pos1", "Java");
    languages.put("pos2", "Python");
    System.out.println("Map: " + languages);

    // создаём tree map из map
    TreeMap<String, String> sortedNumbers = new TreeMap<>(languages);
    System.out.println("Map with sorted Key" + sortedNumbers);

  }
}

Вывод:

Map: {pos1=Java, pos2=Python, pos3=JS}
Map with sorted Key{pos1=Java, pos2=Python, pos3=JS}

В примере выше мы создали map с именем languages, используя HashMap. Здесь map не отсортирована.

Чтобы отсортировать map, мы создали treemap из map. Теперь map отсортирована по ключам.