从列表中的每个对象中选择属性
假设我有一个List<Tuple>
,每个元素中的第一个元素是一个字符串。 在Kotlin中是否有一个扩展函数来从这些元组中选择第一个元素?
我正在寻找类似于C#LINQ语法的Select
:
myTuples.Select(t => t.item1)
在Kotlin中,一个Tuple可能是一Pair
或Triple
。 你可以在列表上映射并选择第一个元素,如下所示:
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"]
当然,你可以放弃这些类型,我已经把它们留在这里,使它更容易遵循。
在这种情况下你应该使用map
:
listOf(Triple(1,2,3), Triple(3,4,5), Triple(4,3,2)) .map { it.first }.forEach(::println)
这不是更容易,我想:)