📜  在 Kotlin 中配对

📅  最后修改于: 2022-05-13 01:55:43.531000             🧑  作者: Mango

在 Kotlin 中配对

在编程中,我们调用函数来执行特定任务。函数最好的一点是我们可以多次调用它,它在计算后返回一些值,即如果我们有add()函数,那么它总是返回输入的两个数字的总和。

但是,函数有一些限制,比如函数一次只返回一个值。如果需要返回多个不同数据类型的值,那么我们可以创建一个类并声明我们想要从函数返回的所有变量,然后创建该类的一个对象并轻松收集所有返回值在一个列表中。主要问题是,如果程序中有这么多函数一次返回多个值,那么我们必须为所有这些函数创建一个单独的类并最终使用该类。这个过程增加了程序的冗长和复杂性。

为了处理这类问题,Kotlin 引入了PairTriple的概念。

什么是配对? –

Kotlin 语言提供了一种简单的数据类型来在单个实例中存储两个值。这可以使用称为Pair的数据类来完成。它是一个简单的泛型类,可以存储相同或不同数据类型的两个值,并且这两个值之间可以存在或不存在关系。两个Pair对象之间的比较是基于values进行的,即如果两个 Pair 对象的值相等,则它们是相等的。

类定义——

data class Pair : Serializable

两个参数:
A –第一个值的类型
B –第二个值的类型

构造函数——

在 Kotlin 中,构造函数是一个特殊的成员函数,在创建类的对象时调用它,主要是为了初始化变量或属性。要创建 Pair 的新实例,我们使用:

Pair(first: A, second: B)

Kotlin 使用构造函数创建对的示例 –

fun main() {
    val (x, y) = Pair(1, "Geeks")
    println(x)
    println(y)
}

输出:

1
Geeks

特性 -

我们可以在单个变量中接收对的值,也可以使用第一个第二个属性来提取值。
first :此字段存储 Pair 的第一个值。
second :此字段存储 Pair 的第二个值。

Kotlin 程序使用属性检索 Pair 的值 -

fun main() {
    // declare pair
    var pair = Pair("Hello Geeks", "This is Kotlin tutorial")
    println(pair.first)
    println(pair.second)
}

输出:

Hello Geeks
This is Kotlin tutorial

职能 -

toString():此函数返回对等的字符串。

fun toString(): String

Kotlin 程序的使用函数——

fun main() {
    val obj = Pair(5,5)
    println("String representation is "+obj.toString())
    val pair = Pair("Geeks", listOf("Praveen", "Gaurav", "Abhi"))
    print("Another string representation is "+pair.toString())
}

输出:

String representation is (5, 5)
Another string representation is (Geeks, [Praveen, Gaurav, Abhi])

扩展功能 –

正如我们在之前的文章中所了解的,扩展函数能够为现有类添加更多功能,而无需继承它们。
toList():此函数返回给定 Pair 的等效列表。

fun Pair.toList(): List

使用扩展函数的 Kotlin 程序——

fun main() {
    // first pair
    var obj = Pair(1,2)
    val list1: List = obj.toList()
    println(list1)
    // second pair
    var obj2 = Pair("Hello","Geeks")
    val list2: List = obj2.toList()
    println(list2)
}

输出

[1, 2]
[Hello, Geeks]