Класс Pair
Класс Pair представляет собой контейнер для хранения двух значений,
которые могут быть разных типов. Каждое значение в паре может быть получено
через свойства first и second. Пары полезны для возврата
двух значений из функции или для временного хранения связанных данных.
Импорт
import kotlin.Pair
Синтаксис
class Pair<out A, out B> : Serializable
fun <A, B> Pair(first: A, second: B): Pair<A, B>
Пример
Создадим пару из строки и числа:
val pair: Pair<String, Int> = Pair("age", 25)
println(pair.first)
println(pair.second)
Результат выполнения кода:
String "age"
Int 25
Пример
Создадим пару с помощью инфиксной функции to:
val pair = "name" to "John"
println(pair.first)
println(pair.second)
Результат выполнения кода:
String "name"
String "John"
Пример
Деструктуризация пары на отдельные переменные:
val pair = Pair(10, 20)
val (a, b) = pair
println(a)
println(b)
Результат выполнения кода:
Int 10
Int 20
Пример
Использование пары для возврата двух значений из функции:
fun 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}")
Результат выполнения кода:
String "Min: 1, Max: 9"
Пример
Создание списка пар:
val pairs = listOf(
"a" to 1,
"b" to 2,
"c" to 3
)
for ((letter, number) in pairs) {
println("$letter -> $number")
}
Результат выполнения кода:
String "a -> 1"
String "b -> 2"
String "c -> 3"