Sobes.tech
Back to questions
Junior — Middle
62

Можно ли объяснить принцип работы интерфейса SortedMap и чем он отличается от обычной Map?

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

Интерфейс SortedMap в Java расширяет обычный Map и гарантирует, что элементы будут храниться в отсортированном порядке по ключам. Основные отличия:

  • Порядок элементов: в SortedMap ключи упорядочены либо по естественному порядку (если ключи реализуют Comparable), либо по заданному компаратору.
  • Дополнительные методы: SortedMap предоставляет методы для получения подмножеств карты, например subMap(), headMap(), tailMap(), а также методы для доступа к первому и последнему ключу (firstKey(), lastKey()).

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

import java.util.SortedMap;
import java.util.TreeMap;

public class SortedMapExample {
    public static void main(String[] args) {
        SortedMap<Integer, String> map = new TreeMap<>();
        map.put(3, "Три");
        map.put(1, "Один");
        map.put(2, "Два");

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

В отличие от обычного Map (например, HashMap), где порядок элементов не гарантируется, SortedMap обеспечивает упорядоченность ключей.