科特林配对
在编程中,我们调用函数来执行特定的任务。关于函数最好的一点是我们可以调用它任何次数,并且它在计算后返回一些值,即如果我们有 add() 函数,那么它总是返回输入的两个数字的总和。
但是,函数有一些限制,比如函数一次只返回一个值。如果需要返回多个不同数据类型的值,那么我们可以创建一个类,并声明我们希望从函数返回的所有变量,然后创建该类的一个对象,并轻松地将所有返回值收集在一个列表中。主要问题是,如果程序中有这么多函数一次返回多个值,那么我们必须为所有这些函数创建一个单独的类,并最终使用该类。这个过程增加了程序的冗长性和复杂性。
为了处理这类问题,柯特林引入了对和三重的概念。
什么是配对?–
Kotlin 语言提供了一种简单的数据类型,可以在单个实例中存储两个值。这可以使用称为对的数据类来完成。这是一个简单的泛型类,可以存储相同或不同数据类型的两个值,两个值之间可以有也可以没有关系。两个配对对象之间的比较是基于值进行的,即如果两个配对对象的值相等,则两个配对对象相等。
等级定义–
data class Pair<out A, out B> : Serializable
有两个参数: T3】A–类型的第一个值 T6】B–类型的第二个值
构造器–
在 Kotlin 中,构造函数是一个特殊的成员函数,在创建类的对象时调用,主要用于初始化变量或属性。要创建配对的新实例,我们使用:
Pair(first: A, second: B)
使用构造函数创建配对的 Kotlin 示例–
fun main() {
val (x, y) = Pair(1, "Geeks")
println(x)
println(y)
}
输出:
1
Geeks
属性–
我们可以在单个变量中接收对的值,或者我们可以使用 f 第一和第二属性来提取值。 第一个:该字段存储配对的第一个值。 秒:该字段存储配对的第二个值。
使用属性–检索配对值的科特林程序
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
使用功能的柯特林程序–
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(): 这个函数返回给定对的列表等价物。
fun <T>Pair<T, T>.toList(): List
使用扩展功能的柯特林程序–
fun main() {
// first pair
var obj = Pair(1,2)
val list1: List<Any> = obj.toList()
println(list1)
// second pair
var obj2 = Pair("Hello","Geeks")
val list2: List<Any> = obj2.toList()
println(list2)
}
输出
[1, 2]
[Hello, Geeks]