Функция sortedMapOf

Функция sortedMapOf создает объект SortedMap, который автоматически сортирует элементы по ключам в естественном порядке (согласно интерфейсу Comparable). Словарь является неизменяемым (read-only). Для создания пустого отсортированного словаря можно вызвать функцию без параметров.

Импорт

kotlinimport kotlin.collections.sortedMapOf

Синтаксис

kotlinfun <K : Comparable<K>, V> sortedMapOf(): SortedMap<K, V>
kotlinfun <K : Comparable<K>, V> sortedMapOf(vararg pairs: Pair<K, V>): SortedMap<K, V>

Пример

Создадим пустой отсортированный словарь:

kotlinval map: SortedMap<String, Int> = sortedMapOf()
println(map)

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

kotlin{}

Пример

Создадим отсортированный словарь с несколькими элементами:

kotlinval map = sortedMapOf(
  "z" to 1,
  "a" to 2,
  "m" to 3
)
println(map)

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

kotlin{a=2, m=3, z=1}

Пример

Создадим отсортированный словарь с числовыми ключами:

kotlinval map = sortedMapOf(
  10 to "ten",
  2 to "two",
  7 to "seven"
)
println(map)

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

kotlin{2=two, 7=seven, 10=ten}

Пример

Попробуем добавить элемент в неизменяемый словарь:

kotlinval map = sortedMapOf("a" to 1, "b" to 2)

// Этот код вызовет ошибку компиляции
// map["c"] = 3

Комментарий: словарь, созданный через sortedMapOf, является неизменяемым и не поддерживает добавление новых элементов.

Пример

Проверим автоматическую сортировку ключей:

kotlinval map = sortedMapOf(
  "orange" to 5,
  "apple" to 3,
  "banana" to 7
)

println("Keys: ${map.keys}")
println("Values: ${map.values}")

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

kotlinKeys: [apple, banana, orange]
Values: [3, 7, 5]

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

  • функцию mapOf,
    которая создает обычный неизменяемый словарь
  • функцию mutableMapOf,
    которая создает изменяемый словарь
  • функцию hashMapOf,
    которая создает хэш-таблицу
  • функцию linkedMapOf,
    которая создает словарь с сохранением порядка добавления