Sobes.tech
Назад к вопросам
Junior — Middle
66

Можешь ли ты объяснить отличительные особенности структуры данных TreeMap?

Компании, где спрашивали
Передовые Платежные Решения

Ответ от нейросети

sobes.tech AI

TreeMap в Java — это реализация интерфейса SortedMap, которая хранит пары ключ-значение в отсортированном порядке по ключам. Основные отличительные особенности:

  • Отсортированность: элементы автоматически упорядочиваются по ключу в естественном порядке (если ключи Comparable) или по заданному Comparator.
  • Реализация на основе красно-черного дерева: обеспечивает логарифмическое время доступа, вставки и удаления элементов.
  • Нельзя хранить null в качестве ключа: попытка вставить null в ключ вызовет NullPointerException.
  • Поддержка навигационных методов: такие как firstKey(), lastKey(), subMap(), headMap(), tailMap() для работы с диапазонами ключей.

Пример использования:

import java.util.TreeMap;

TreeMap<Integer, String> map = new TreeMap<>();
map.put(3, "три");
map.put(1, "один");
map.put(2, "два");

for (Integer key : map.keySet()) {
    System.out.println(key + " -> " + map.get(key));
}
// Вывод будет отсортирован по ключам: 1, 2, 3