如果我有这样的事情:

data class BaseItem {
  val id: Int
  val itemName: String
  val type: String
  val relatedItems: List<BaseItem>?
}

如果我有List<BaseItem>,如何使用平面/ map 等创建一个新的List<BaseItem>,其中将包含每个BaseItem的条目,以及subgroup中的所有项目?

最佳答案

您可以执行以下操作:

list.flatMap { item ->
    mutableListOf(item).apply {
        item.relatedItems?.let(::addAll)
    }
}

07-25 20:26