Какая коллекция в Java обеспечивает хранение пар ключ-значение с автоматической сортировкой по ключам?

09.05.2026 02:40
Обновлено: 09.05.2026 02:40

Подробное объяснение

Правильный ответ — TreeMap. TreeMap реализует красно-черное дерево, что гарантирует упорядоченное хранение ключей согласно их естественному порядку или заданному компаратору. В отличие от HashMap, который не гарантирует порядок, и HashSet, который хранит только элементы без ключей, TreeMap подходит для задач, где требуется отсортированное отображение.

Часто задаваемые вопросы (FAQ)

1 В чем разница между TreeMap и HashMap?
TreeMap хранит пары ключ-значение в отсортированном порядке по ключам, используя красно-черное дерево. HashMap использует хеш-таблицу, не гарантирует порядок элементов, но обеспечивает O(1) для операций вставки и поиска в среднем случае.
2 Можно ли использовать TreeMap для хранения пользовательских объектов?
Да, для этого необходимо, чтобы класс ключа реализовывал интерфейс Comparable, либо передать Comparator в конструктор TreeMap при создании.
3 Какой класс лучше использовать, если нужна быстрая вставка и поиск без сортировки?
HashMap, так как он обеспечивает константное время выполнения основных операций (вставка, поиск, удаление) в среднем случае.

Типичные ошибки

1 Выбор HashMap для упорядоченного хранения
HashMap не гарантирует порядок ключей, поэтому не подходит, если требуется сортировка.
2 Выбор LinkedList для хранения пар ключ-значение
LinkedList — это список, а не отображение. Он не поддерживает хранение пар ключ-значение.
3 Выбор HashSet для упорядоченного множества
HashSet хранит только уникальные элементы без ключей и не гарантирует порядок. Для упорядоченного множества используют TreeSet.

Установите расширение Poresh.Ai

Решайте тесты мгновенно с помощью искусственного интеллекта прямо в браузере

Автоматическое распознавание вопросов
ИИ-анализ и подробные объяснения
Работает на любых образовательных платформах
Безопасно и конфиденциально