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

我有

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

当我有一个列表

 val sources = arrayListOf(source1, source2, source3) 

我想连接所有源viewTypes到一个List 。 有没有一种方法来实现,而不使用for循环,并获得一个不可变的ListviewTypes

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

 val listOfListViewType = sources.map { it.viewTypes } 

显然答案很简单

 val listOfListViewType = sources.flatMap { it.viewTypes }