gpt4 book ai didi

java - 使用 Stream API 复制列表元素 N 次

转载 作者:搜寻专家 更新时间:2023-10-31 19:36:34 26 4
gpt4 key购买 nike

有没有办法使用 Stream API 在 Java 中复制一些列表(或必要时组合字符串)N 次

如果列表由 {"Hello", "world"} 和 N = 3 组成,结果应该是 {"Hello", "world", "Hello", "世界”,“你好”,“世界”

到目前为止,我所做的是获取组合的 String 元素,但我不确定如何继续将其复制 N 次。虽然我可以在外部完成,但我想看看是否可以在流的帮助下完成

Optional<String> sentence = text.stream().reduce((value, combinedValue) -> { return value + ", " + combinedValue ;});

我想用stream,因为我打算在上面那个之后继续做其他的stream操作

最佳答案

您可以使用Collections.nCopies:

List<String> output =
Collections.nCopies(3,text) // List<List<String>> with 3 copies of
// original List
.stream() // Stream<List<String>>
.flatMap(List::stream) // Stream<String>
.collect(Collectors.toList()); // List<String>

这将产生 List:

[Hello, World, Hello, World, Hello, World]

用于您的示例输入。

关于java - 使用 Stream API 复制列表元素 N 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55493651/

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