gpt4 book ai didi

list - 使用 Kotlin 中的 Java Stream API 从列表列表中获取元素

转载 作者:IT老高 更新时间:2023-10-28 13:40:59 24 4
gpt4 key购买 nike

以下代码(用 Kotlin 编写)从列表列表中提取元素。它有效,但看起来相当丑陋且难以阅读。

有没有更好的方法来编写与 java 流 api 相同的内容? (示例可以用 Kotlin 或 Java 给出)

val listOfLists: List<Any> = ...
val outList: MutableList<Any> = mutableListOf()

listOfLists.forEach {
list ->
if (list is ArrayList<*>) list.forEach {
l ->
outList.add(l)
}
}

return outList;

最佳答案

在 Kotlin 中,它非常简单,无需任何过多的样板:

val listOfLists: List<List<String>> = listOf()

val flattened: List<String> = listOfLists.flatten()

flatten()flatMap { it }

一样

在 Java 中,您需要使用 Stream API:

List<String> flattened = listOfLists.stream()
.flatMap(List::stream)
.collect(Collectors.toList());

您也可以在 Kotlin 中使用 Stream API:

val flattened: List<String> = listOfLists.stream()
.flatMap { it.stream() }
.collect(Collectors.toList())

关于list - 使用 Kotlin 中的 Java Stream API 从列表列表中获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45409911/

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