kotlin - 从模型中映射并提取内部列表

标签 kotlin

我有这个数据类:

data class Model(val mId, val mList: List<AnotherModel>)

有一个列表:

val fakeList: List<Model>

我想提取并映射mList: List<AnotherModel>List<NeoAnotherModel>

这里的挑战是forEach不返回任何内容(单位)

Observable.just(fakeList).map { models: List<Model> ->
  val IWantNeoAnotherModelList = models.forEach { model: Model ->
    model.mList.map { list: List<AnotherModel> ->
      NeoAnotherModel(...)
    }
  }
}

我还检查了documentation对于一些转换函数,但到目前为止还没有运气。

最佳答案

您可以使用 flatMap 将模型提取到一个列表,然后使用 map 进行转换:

val models: List<NeoAnotherModel> = fakeList.flatMap { it.mList }.map { model: AnotherModel ->
    NeoAnotherModel(...)
}

关于kotlin - 从模型中映射并提取内部列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62357453/

相关文章:

android - Kotlin:如何将图像从 Internet 保存到内部存储

android - 在方向变化时维护虚拟键盘的更简洁方法

android - 从库中@embedding时匹配构造函数时出错

kotlin - 从代码块执行和返回(在 Elvis 运算符之后)

kotlin - 从挂起的函数启动协程

kotlin - cucumber 与Kotlin:重复步骤定义存在问题

kotlin - android/kotlin-在单击“后退”按钮时,使用CompositeDisposal(RXjava2)进行的 retrofit 无法转到响应/可抛出的 block

android - Kotlin 中货币的数据类型

kotlin - Kotlin通用类的限制

android - 每当我更改一个 Kotlin 文件中的每个函数时,都会获取 "Conflicting overloads"