Назад к вопросам
Middle
68
questionbank
В чем проявляется сортированность интерфейса SortedMap, помимо того, что метод toString() выводит элементы в порядке сортировки?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Сортированность SortedMap проявляется (помимо toString()):
- Порядок обхода и итерации: Итераторы, получаемые из представлений (
entrySet,keySet,values), гарантируют обход элементов в порядке ключей. - Представление поднаборов: Методы
subMap(),headMap(),tailMap()позволяют получать подмножества карты, основанные на диапазоне ключей, и эти подмножества также остаются отсортированными. - Получение крайних элементов: Методы
firstKey()иlastKey()позволяют получить наименьший и наибольший ключи в карте (и, соответственно, первые и последние элементы при итерации). - Наличие компаратора:
SortedMapможет быть создана с использованием явно заданного компаратора (Comparator) или использовать естественный порядок сортировки ключей (Comparable). Методcomparator()возвращает используемый компаратор (илиnullдля естественного порядка).
Пример:
// Использование представлений
SortedMap<Integer, String> sortedMap = new TreeMap<>();
sortedMap.put(3, "Three");
sortedMap.put(1, "One");
sortedMap.put(2, "Two");
// Обход в порядке ключей
for (Map.Entry<Integer, String> entry : sortedMap.entrySet()) {
System.out.println(entry.getKey() + " -> " + entry.getValue());
}
// Получение поднабора
SortedMap<Integer, String> subMap = sortedMap.subMap(1, 3); // Исключая ключ 3
System.out.println(subMap); // {1=One, 2=Two}
// Получение крайних
System.out.println("First key: " + sortedMap.firstKey()); // 1
System.out.println("Last key: " + sortedMap.lastKey()); // 3