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