假设我有一个List<Tuple>,其中每个元素的第一个元素是一个字符串.Kotlin中是否有一个扩展函数可以从这些元组中 Select 第一个元素?

我正在寻找类似于Select的C#LINQ语法:

myTuples.Select(t => t.item1)

推荐答案

In Kotlin, a Tuple could be a Pair or a Triple. You could just map over the list and select out the first element, like this:

val myTuples : List<Triple<String,String,String>> = listOf(
    Triple("A", "B", "C"), 
    Triple("D", "E", "F")
)
val myFirstElements: List<String> = myTuples.map { it.first } // ["A", "D"]

And of course, you can leave off the types, I've left them in to make this easier to follow.

Kotlin相关问答推荐

如何在Jetpack Compose中的列中渲染图像

如何接受任何派生类KClass

使函数同时挂起和取消挂起

为什么 KFunction2 在 Kotlin 中不是可表示类型?

Kotlin JS JSON 反序列化

如何有效地填充 Gradle Kotlin DSL 中的额外属性?

为什么 IntelliJ Idea 无法识别我的 Spek 测试?

Android数据绑定在自定义视图中注入ViewModel

Kotlin 中的 Java Scanner 相当于什么?

如何在 android jetpack compose 中相互重叠列表项?

无法在 kotlin android 中以编程方式禁用 EditText

无法解决:androidx.lifecycle:lifecycle-viewmodel-ktx:1.1.1

如何在 Jetpack Compose 的 LazyColumn/LazyRow 中禁用和启用滚动?

Kotlin 接口属性:只需要公共 getter 而没有公共 setter

Android Kotlin 创建类实现 Parcelable 在 writeToParcel 方法的 override中给出错误

Kotlin中的Memoization功能

Kotlin中的属性(properties)和参数(parameters)有什么区别?

@StringRes、@DrawableRes、@LayoutRes等android注释使用kotlin参数进行判断

目前不支持 Gradle 项目的自动库版本更新.请手动更新您的 build.gradle

从 java 活动 *.java 启动 kotlin 活动 *.kt?