我有三个相互关联的值的列表。即学籍、学名和学名。
我正在使用Kotlin 三重存储它们。以下是代码:
val studentData = listOf(
Triple(first = "1", second ="Sam", third = "MIT"),
Triple(first = "2", second ="Johnny", third = "SYM"),
Triple(first = "3", second ="Depp", third = "PIT")
)现在,我需要建立一个函数,它将接受学籍,并返回学生姓名或学校名称。如下所示:
fun getStudentDetails(rollNumber: String) : String {
//...
//return student name or school name
}如何做到这一点?
如何以最预先格式的方式遍历Triple,请考虑以下几点:
a)时间和空间复杂性
( b)学生的详细情况可能会越来越多
发布于 2022-05-06 07:48:21
考虑到rollNumber是一个String,您只需使用firstOrNull筛选列表并返回学生姓名或学校名称:
fun getStudentDetails(rollNumber: String) : String =
studentData.firstOrNull({ (roll, _, _) ->
roll == rollNumber
})?.second ?: "No student with $rollNumber"在最坏情况下,空间复杂度为常数,时间复杂度为O(n)。
https://stackoverflow.com/questions/72137754
复制相似问题