首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Kotlin中迭代三元组

如何在Kotlin中迭代三元组
EN

Stack Overflow用户
提问于 2022-05-06 07:34:28
回答 1查看 151关注 0票数 1

我有三个相互关联的值的列表。即学籍、学名和学名。

我正在使用Kotlin 三重存储它们。以下是代码:

代码语言:javascript
复制
val studentData = listOf(
    Triple(first = "1", second ="Sam", third = "MIT"),
    Triple(first = "2", second ="Johnny", third = "SYM"),
    Triple(first = "3", second ="Depp", third = "PIT")
)

现在,我需要建立一个函数,它将接受学籍,并返回学生姓名或学校名称。如下所示:

代码语言:javascript
复制
fun getStudentDetails(rollNumber: String) : String {
    //...
    //return student name or school name 
}

如何做到这一点?

如何以最预先格式的方式遍历Triple,请考虑以下几点:

a)时间和空间复杂性

( b)学生的详细情况可能会越来越多

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-06 07:48:21

考虑到rollNumber是一个String,您只需使用firstOrNull筛选列表并返回学生姓名或学校名称:

代码语言:javascript
复制
fun getStudentDetails(rollNumber: String) : String =
    studentData.firstOrNull({ (roll, _, _) -> 
        roll == rollNumber 
    })?.second ?: "No student with $rollNumber"

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72137754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档