Middle
Wodurch zeigt sich die Sortierung in der Schnittstelle SortedMap, abgesehen davon, dass die Methode toString() die Elemente in sortierter Reihenfolge ausgibt?
sobes.tech KI
Antwort von 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