Gymterview
middle

В чем проявляется сортированность SortedMap кроме того, что toString() выводит элементы по порядку

Сортированность SortedMap проявляется в нескольких аспектах:

  • Итерация по keySet(), values(), entrySet() возвращает элементы в отсортированном порядке ключей.
  • Методы firstKey() и lastKey() возвращают наименьший и наибольший ключи за O(log N).
  • Метод headMap(toKey) возвращает view с ключами строго меньше toKey.
  • Метод tailMap(fromKey) возвращает view с ключами >= fromKey.
  • Метод subMap(fromKey, toKey) возвращает view с ключами в диапазоне [fromKey, toKey).

NavigableMap (расширяет SortedMap) добавляет ещё больше методов: floorKey(), ceilingKey(), lowerKey(), higherKey(), descendingMap(), pollFirstEntry(), pollLastEntry().

Основная реализация — TreeMap, основанная на красно-черном дереве, обеспечивающая O(log N) для всех операций.

На собеседовании: перечислите методы headMap(), tailMap(), subMap(), firstKey(), lastKey(). Покажите, что порядок поддерживается не только при выводе, но и при итерации и получении подмножеств.