Класс Triple

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

Импорт

kotlinimport kotlin.Triple

Синтаксис

kotlinclass Triple<out A, out B, out C> (
  val first: A,
  val second: B,
  val third: C
) : Serializable

Пример

Создадим Triple с тремя значениями разных типов:

kotlinval triple = Triple("John", 25, true)
println(triple.first)
println(triple.second)
println(triple.third)

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

kotlinString "John"
Int 25
Boolean true

Пример

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

kotlinval userData = Triple("Alice", "alice@mail.com", "password123")
val (name, email, password) = userData

println(name)
println(email)
println(password)

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

kotlinString "Alice"
String "alice@mail.com"
String "password123"

Пример

Использование Triple как ключа в Map:

kotlinval map = mapOf(
  Triple(1, "A", true) to "First",
  Triple(2, "B", false) to "Second"
)

val key = Triple(1, "A", true)
println(map[key])

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

kotlinString "First"

Пример

Сравнение двух Triple объектов:

kotlinval triple1 = Triple(1, "text", 3.14)
val triple2 = Triple(1, "text", 3.14)
val triple3 = Triple(2, "text", 3.14)

println(triple1 == triple2)
println(triple1 == triple3)

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

kotlinBoolean true
Boolean false

Пример

Создание Triple с нулевыми значениями:

kotlinval triple = Triple(null, "not null", null)
println(triple.first)
println(triple.second)
println(triple.third)

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

kotlinnull
String "not null"
null

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

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