在 Kotlin 中配对
在编程中,我们调用函数来执行特定任务。函数最好的一点是我们可以多次调用它,它在计算后返回一些值,即如果我们有add()函数,那么它总是返回输入的两个数字的总和。
但是,函数有一些限制,比如函数一次只返回一个值。如果需要返回多个不同数据类型的值,那么我们可以创建一个类并声明我们想要从函数返回的所有变量,然后创建该类的一个对象并轻松收集所有返回值在一个列表中。主要问题是,如果程序中有这么多函数一次返回多个值,那么我们必须为所有这些函数创建一个单独的类并最终使用该类。这个过程增加了程序的冗长和复杂性。
为了处理这类问题,Kotlin 引入了Pair和Triple的概念。
什么是配对? –
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]
在评论中写代码?请使用 ide.geeksforgeeks.org,生成链接并在此处分享链接。