如何将一个函数应用于列表的列表
我知道flatMap操作,但不完全明白它是如何工作的。
我有一个class级:
class Days() { List dates; }
然后我有这些对象的列表
List month
我想对这个对象中的每一个日期做一些事情(例如把它们转换成一个字符串),然后找回所有这些字符串的单个列表。
如何做到这一点?
如果那天课程在Kotlin,那么你不可能dates
。 flatMap
调用可以使用一个简单的函数引用,然后:
class Days(val dates: List = emptyList()) fun main(args: Array) { val manyDays = listOf(Days(), Days()) manyDays.flatMap(Days::dates).forEach(::println) }
当然,在发布这个消息之后我明白了这一点,但我想我应该把这个答案放在这里,以防其他人发现这个问题。
month.flatMap{ it.dates ?: listOf() }.map{ //do your work on the objects here }