gpt4 book ai didi

android - 如何在 Kotlin 中展平列表列表?

转载 作者:行者123 更新时间:2023-12-02 14:10:20 27 4
gpt4 key购买 nike

我有一个包含日期的 AA 类对象列表和一个 BB 类对象列表:

data class AA(
val date: LocalDate,
val bb: List<BB>
)

@Parcelize
data class BB(
val x: Int,
val y: String,
val z: String
) : Parcelable

我想创建一个列表(展平 List<AA> ),如下所示:

 listOf(
date obj
BB obj
BB obj
date obj
BB obj
date obj
BB obj
BB obj
BB obj)

而不是:

 listOf(
date obj, listOf(BB obj, BB obj)
date obj, listOf(BB obj)
date obj, listOf(BB obj, BB obj, BB obj))

我尝试使用 flatMap,但我只能展平一部分 - BB。
如何创建包含日期和 BB 项目的列表?

最佳答案

我所知道的最简单的一个是将 flatten() 函数扩展为 Iterable。由于List是后者的子类,因此它是适用的。

https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/flatten.html

val deepList = listOf(listOf(1), listOf(2, 3), listOf(4, 5, 6))
println(deepList.flatten()) // [1, 2, 3, 4, 5, 6]

关于android - 如何在 Kotlin 中展平列表列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57356880/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com