Назад к вопросам
СБЕР
Junior — Middle
66
Чем отличаются структуры данных SortedMap и LinkedHashMap в Java?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
SortedMap и LinkedHashMap — это две реализации интерфейса Map в Java, которые отличаются порядком хранения элементов и внутренней структурой.
-
SortedMap (например, TreeMap) хранит элементы в отсортированном порядке по ключу. Ключи должны быть либо Comparable, либо нужно передать Comparator. Это позволяет быстро получать элементы в отсортированном виде.
-
LinkedHashMap сохраняет порядок вставки элементов (или порядок доступа, если включен access-order). Это удобно, когда важен порядок добавления элементов.
Пример:
Map<String, Integer> sortedMap = new TreeMap<>();
sortedMap.put("banana", 2);
sortedMap.put("apple", 5);
sortedMap.put("orange", 3);
System.out.println(sortedMap); // {apple=5, banana=2, orange=3} - отсортировано по ключу
Map<String, Integer> linkedHashMap = new LinkedHashMap<>();
linkedHashMap.put("banana", 2);
linkedHashMap.put("apple", 5);
linkedHashMap.put("orange", 3);
System.out.println(linkedHashMap); // {banana=2, apple=5, orange=3} - порядок вставки
Итого:
- SortedMap — сортирует по ключу.
- LinkedHashMap — сохраняет порядок вставки или доступа.