НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
179 of 1310 menu

Интерфейс SortedMap

Интерфейс SortedMap представляет собой коллекцию, которая хранит пары ключ-значение в отсортированном порядке по ключам. Ключи должны быть сравниваемыми или использовать специальный компаратор для определения порядка сортировки. Наследуется от интерфейса Map и добавляет методы для работы с отсортированными ключами.

Импорт

import kotlin.collections.SortedMap

Создание SortedMap

Для создания отсортированной карты можно использовать функцию sortedMapOf:

val map: SortedMap<Int, String> = sortedMapOf( 3 to "c", 1 to "a", 2 to "b" )

Результат выполнения кода:

SortedMap {1=a, 2=b, 3=c}

Пример

Создание SortedMap с компаратором для обратной сортировки:

val map: SortedMap<Int, String> = sortedMapOf(compareByDescending { it }) map[3] = "c" map[1] = "a" map[2] = "b" println(map)

Результат выполнения кода:

SortedMap {3=c, 2=b, 1=a}

Методы SortedMap

Основные методы интерфейса SortedMap:

val map: SortedMap<Int, String> = sortedMapOf( 1 to "a", 2 to "b", 3 to "c", 4 to "d", 5 to "e" ) val firstKey: Int = map.firstKey() val lastKey: Int = map.lastKey() val subMap: SortedMap<Int, String> = map.subMap(2, 4) println("First key: $firstKey") println("Last key: $lastKey") println("SubMap: $subMap")

Результат выполнения кода:

First key: 1 Last key: 5 SubMap: {2=b, 3=c}

Пример

Использование методов headMap и tailMap:

val map: SortedMap<Int, String> = sortedMapOf( 1 to "a", 2 to "b", 3 to "c", 4 to "d", 5 to "e" ) val head: SortedMap<Int, String> = map.headMap(3) val tail: SortedMap<Int, String> = map.tailMap(3) println("HeadMap: $head") println("TailMap: $tail")

Результат выполнения кода:

HeadMap: {1=a, 2=b} TailMap: {3=c, 4=d, 5=e}

Пример

Получение компаратора карты:

val map: SortedMap<String, Int> = sortedMapOf(compareByDescending { it.length }) map["apple"] = 1 map["banana"] = 2 map["cherry"] = 3 val comparator: Comparator<String>? = map.comparator() println("Comparator: $comparator") println("Map: $map")

Результат выполнения кода:

Comparator: java.util.Comparators$$Lambda$... Map: {banana=2, cherry=3, apple=1}

Смотрите также

  • интерфейс Map,
    базовый интерфейс для работы с картами
  • интерфейс MutableMap,
    интерфейс для изменяемых карт
  • интерфейс NavigableMap,
    интерфейс для навигируемых карт с дополнительными методами
  • класс TreeMap,
    реализация SortedMap на основе красно-черного дерева
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить