Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про Java: treemap, hashmap, sorting, comparator

Чем TreeMap отличается от HashMap? Как управлять порядком элементов в TreeMap?

Вопрос проверяет знание различий между реализациями Map и работы с упорядоченными коллекциями.

Короткий ответ

Основные отличия:

  1. HashMap - неупорядоченная, TreeMap - сортированная по ключам

  2. HashMap - O(1) доступ, TreeMap - O(log n)

  3. TreeMap использует Comparator или естественный порядок

Длинный ответ

Сравнение:

  • HashMap - отсутствует порядок, сложность О(1), есть Null-ключи

  • TreeMap - сортировка по ключам, сложность О(log(n)), Null-ключи отсутствуют

Управление порядком в TreeMap:

  1. Естественный порядок (ключи реализуют Comparable)

TreeMap<String, Integer> map = new TreeMap<>();  // Сортировка String
  1. Через Comparator:

Comparator<String> reverse = (a, b) -> b.compareTo(a);
TreeMap<String, Integer> map = new TreeMap<>(reverse);

Уровень

  • Рейтинг:

    1

  • Сложность:

    6

Навыки

  • Java

    Java

Ключевые слова

#treemap

#hashmap

#sorting

#comparator

Подпишись на Java Developer в телеграм