Класс 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"