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

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

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

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