如何将一个类型列表中的列表组合到一个单一的不可变列表中?

我有

interface Source { val type: String val viewTypes: List<String> } 

当我有一个列表

 val sources = arrayListOf(source1, source2, source3) 

我想连接所有源viewTypes到一个List<String> 。 有没有办法实现这一点,而不使用for循环,并获得一个不变的List<String>viewTypes

下面是错误的,因为它正在产生List<List<String>>

 val listOfListViewType = sources.map { it.viewTypes } 

显然答案很简单

 val listOfListViewType = sources.flatMap { it.viewTypes }