如何在 Kotlin 中迭代一个三元组

How to iterate over a Triple in Kotlin

我有三组相互关联的值的列表。即卷号、学生姓名和学校名称。

我正在使用 Kotlin Triple 来存储它们。 下面是代码:

val studentData = listOf(
    Triple(first = "1", second ="Sam", third = "MIT"),
    Triple(first = "2", second ="Johnny", third = "SYM"),
    Triple(first = "3", second ="Depp", third = "PIT")
)

现在我需要构建一个函数,它将接受卷号并且 return 学生姓名或学校名称。如下所示:

fun getStudentDetails(rollNumber: String) : String {
    //...
    //return student name or school name 
}

如何实现?
如何以最预格式化的方式遍历 Triple 考虑如下:
a) 时间和 space 复杂性
b) 学生详细信息列表可以变大

鉴于 rollNumberString 您可以使用 firstOrNull 和 return 学生姓名或学校名称过滤列表:

fun getStudentDetails(rollNumber: String) : String =
    studentData.firstOrNull({ (roll, _, _) -> 
        roll == rollNumber 
    })?.second ?: "No student with $rollNumber"

space复杂度是常数,最坏情况下时间复杂度为O(n)。