Класс Pair

Класс Pair представляет собой контейнер для хранения двух значений, которые могут быть разных типов. Каждое значение в паре может быть получено через свойства first и second. Пары полезны для возврата двух значений из функции или для временного хранения связанных данных.

Импорт

kotlinimport kotlin.Pair

Синтаксис

kotlinclass Pair<out A, out B> : Serializable
kotlinfun <A, B> Pair(first: A, second: B): Pair<A, B>

Пример

Создадим пару из строки и числа:

kotlinval pair: Pair<String, Int> = Pair("age", 25)
println(pair.first)
println(pair.second)

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

kotlinString "age"
Int 25

Пример

Создадим пару с помощью инфиксной функции to:

kotlinval pair = "name" to "John"
println(pair.first)
println(pair.second)

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

kotlinString "name"
String "John"

Пример

Деструктуризация пары на отдельные переменные:

kotlinval pair = Pair(10, 20)
val (a, b) = pair
println(a)
println(b)

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

kotlinInt 10
Int 20

Пример

Использование пары для возврата двух значений из функции:

kotlinfun getMinMax(numbers: List<Int>): Pair<Int, Int> {
  val min = numbers.minOrNull() ?: 0
  val max = numbers.maxOrNull() ?: 0
  return Pair(min, max)
}

val numbers = listOf(5, 2, 8, 1, 9)
val result = getMinMax(numbers)
println("Min: ${result.first}, Max: ${result.second}")

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

kotlinString "Min: 1, Max: 9"

Пример

Создание списка пар:

kotlinval pairs = listOf(
  "a" to 1,
  "b" to 2,
  "c" to 3
)

for ((letter, number) in pairs) {
  println("$letter -> $number")
}

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

kotlinString "a -> 1"
String "b -> 2"
String "c -> 3"

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

  • класс Triple,
    который хранит три значения разных типов
  • интерфейс List,
    который представляет упорядоченную коллекцию элементов
  • класс Array,
    который представляет массив элементов
  • интерфейс Map,
    который представляет коллекцию пар ключ-значение