Класс TreeMap
Класс TreeMap представляет собой реализацию
интерфейса SortedMap, которая хранит элементы
в отсортированном порядке по ключам. Элементы
автоматически сортируются по возрастанию ключей
при добавлении. Для работы TreeMap требуется,
чтобы ключи были сравнимыми (реализовывали интерфейс
Comparable) или предоставлялся компаратор.
Импорт
kotlinimport java.util.TreeMap
Синтаксис
kotlinTreeMap<K, V>()
kotlinTreeMap<K, V>(comparator: Comparator<in K>)
kotlinTreeMap<K, V>(map: Map<out K, V>)
kotlinTreeMap<K, V>(map: SortedMap<K, out V>)
Пример
Создадим TreeMap с ключами типа Int
и значениями типа String:
kotlinval map = TreeMap<Int, String>()
map[3] = "three"
map[1] = "one"
map[2] = "two"
println(map)
Результат выполнения кода:
kotlin{1=one, 2=two, 3=three}
Пример
Создадим TreeMap с компаратором
для сортировки по убыванию:
kotlinval map = TreeMap<Int, String>(compareByDescending { it })
map[3] = "three"
map[1] = "one"
map[2] = "two"
println(map)
Результат выполнения кода:
kotlin{3=three, 2=two, 1=one}
Пример
Создадим TreeMap из существующей карты:
kotlinval originalMap = mapOf(3 to "three", 1 to "one", 2 to "two")
val treeMap = TreeMap(originalMap)
println(treeMap)
Результат выполнения кода:
kotlin{1=one, 2=two, 3=three}
Пример
Используем методы firstKey и lastKey
для получения минимального и максимального ключа:
kotlinval map = TreeMap<Int, String>()
map[3] = "three"
map[1] = "one"
map[2] = "two"
println("First key: " + map.firstKey())
println("Last key: " + map.lastKey())
Результат выполнения кода:
kotlinFirst key: 1
Last key: 3
Пример
Используем метод subMap для получения
подмножества элементов:
kotlinval map = TreeMap<Int, String>()
map[1] = "one"
map[2] = "two"
map[3] = "three"
map[4] = "four"
map[5] = "five"
val subMap = map.subMap(2, 4)
println(subMap)
Результат выполнения кода:
kotlin{2=two, 3=three}
Смотрите также
-
интерфейс
SortedMap,
который реализуетTreeMap -
интерфейс
NavigableMap,
который расширяетSortedMap -
класс
HashMap,
который хранит элементы без гарантии порядка -
класс
LinkedHashMap,
который сохраняет порядок вставки элементов