每当我们想从一个函数返回两个值时,我们都会为此创建类,但是创建太多类会使您的代码效率低下。
因此,您可以使用Pair来返回或使用两个值,使用Triple来返回或使用三个值,而不是为两个或多个值创建类
在 kotlin 中配对
使用对构造函数声明对
val myPair = Pair(first = "Shivam", second = 22)
使用“first”和“second”成员变量访问 Pair 值 -
println(myPair.first)
println(myPair.second)
通过函数接收 Pair ,我们可以通过命名变量获取 Pair 值,也是这样 -
val (name, age) = getPersonInfo()
println("Name: $name, Age: $age")
fun getPersonInfo(): Pair<String, Int> {
return Pair("John", 20)
}
将 Pair 转换为 List 类型
val myPair1 = Pair("Hi", "Developers")
val list: List<String> = myPair1.toList()
println("List: $list")
kotlin 中的三重
使用三重构造函数声明三重
val myTriple = Triple(first = "Dhruv", second = 25, third = 10000.0F)
使用“first”、“second”和“third”成员变量访问 Triple 值 -
println(myTriple.first)
println(myTriple.second)
println(myTriple.third)
通过函数接收三元组,我们也可以像这样获取带有命名变量的三元组值-
val (empName, empAge, empSalary) = getEmployeeInfo()
println("Employee Name: $empName")
println("Employee Age: $empAge")
println("Employee Salary: $empSalary")
fun getEmployeeInfo(): Triple<String, Int, Float> {
return Triple("John", 20, 25000.5F)
}
三对中的多对
val myTriple2 = Triple(
first = Pair(first = "Pair1 Value1", second = "Pair1 Value2"),
second = Pair(first = "Pair2 Value1", second = "Pair2 Value2"),
third = Pair(first = "Pair3 Value1", second = "Pair3 Value2")
) val myTriple2 = Triple(
first = Pair(first = "Pair1 Value1", second = "Pair1 Value2"),
second = Pair(first = "Pair2 Value1", second = "Pair2 Value2"),
third = Pair(first = "Pair3 Value1", second = "Pair3 Value2")
)
从三元组访问多个对的值
println(myTriple2.first.first)
println(myTriple2.first.second)
println(myTriple2.second.first)
println(myTriple2.second.second)
println(myTriple2.third.first)
println(myTriple2.third.second)
将 Triple 转换为 List 类型
val myTriple1 = Triple("Hi", "Hello", "Bye")
val list1: List<String> = myTriple1.toList()
println("List: $list1")
我们可以在 Pair 和 Triple 中使用任何不同的数据类型,例如 String、Int、Float、List、ArrayList 等。
最后
为了帮助哪些入门或者想深入的学习 Kotlin的小伙伴 ,我整理一份《高级Kotlin强化实战学习手册(附Demo)》供Android开发者进阶学习 Kotlin,内容涵盖 Kotlin 入门教程、Kotlin实战避坑指南、Kotlin Jetpack 实战三大模块。
如有需要可以点击文末微信卡片即可免费领取