Какие знаешь упорядоченные Map

«Какие знаешь упорядоченные Map» — вопрос из категории Алгоритмы и структуры данных, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Android/Java есть несколько реализаций упорядоченных Map:

  1. LinkedHashMap - сохраняет порядок вставки элементов. Быстрый доступ, но медленнее при вставке/удалении чем HashMap.
Map<String, Integer> linkedMap = new LinkedHashMap<>();
linkedMap.put("z", 3);
linkedMap.put("a", 1);
linkedMap.put("b", 2); 
// Порядок: z=3, a=1, b=2
  1. TreeMap - сортирует элементы по ключам (натуральный порядок или Comparator). Основан на красно-черном дереве, O(log n) для операций.
Map<String, Integer> treeMap = new TreeMap<>();
treeMap.put("z", 3);
treeMap.put("a", 1);
treeMap.put("b", 2);
// Порядок: a=1, b=2, z=3
  1. ConcurrentSkipListMap - потокобезопасная версия TreeMap, реализованная на skip-list.

Выбор зависит от требований к порядку и производительности.