Класс Triple
Класс Triple
представляет собой контейнер
для трех значений, которые могут быть разных типов.
Каждое значение доступно через свойства first
,
second
и third
. Класс полезен для
возврата нескольких значений из функции без создания
специального класса данных.
Импорт
import kotlin.Triple
Синтаксис
class Triple<out A, out B, out C> (
val first: A,
val second: B,
val third: C
) : Serializable
Пример
Создадим Triple
с тремя значениями разных типов:
val triple = Triple("John", 25, true)
println(triple.first)
println(triple.second)
println(triple.third)
Результат выполнения кода:
String "John"
Int 25
Boolean true
Пример
Деструктуризация Triple
на отдельные переменные:
val userData = Triple("Alice", "alice@mail.com", "password123")
val (name, email, password) = userData
println(name)
println(email)
println(password)
Результат выполнения кода:
String "Alice"
String "alice@mail.com"
String "password123"
Пример
Использование Triple
как ключа в Map
:
val map = mapOf(
Triple(1, "A", true) to "First",
Triple(2, "B", false) to "Second"
)
val key = Triple(1, "A", true)
println(map[key])
Результат выполнения кода:
String "First"
Пример
Сравнение двух Triple
объектов:
val 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)
Результат выполнения кода:
Boolean true
Boolean false
Пример
Создание Triple
с нулевыми значениями:
val triple = Triple(null, "not null", null)
println(triple.first)
println(triple.second)
println(triple.third)
Результат выполнения кода:
null
String "not null"
null