gpt4 book ai didi

Java,流: how to convert expression with.收集(Collectors.toList())

转载 作者:行者123 更新时间:2023-12-02 08:16:41 26 4
gpt4 key购买 nike

如何转换

List<Integer> list = new ArrayList<>();
IntStream.range(0, 10).forEach(i -> IntStream.range(0, i + 1).forEach(j -> list.add(Math.max(i, j))));

变成单行表达式,例如

List<Integer> list = IntStream.range(0, 10) ... .collect(Collectors.toList());

最佳答案

使用flatMap:

IntStream.range(0, 10)
.flatMap(i -> IntStream.range(0, i + 1).map(j -> Math.max(i, j)))
.boxed()
.collect(Collectors.toList());

顺便说一句,这里不需要 Math.max。在这种情况下,i始终不小于j,因此可以更简单地生成相同的结果:

IntStream.range(0, 10)
.flatMap(i -> IntStream.range(0, i + 1).map(j -> i))
.boxed()
.collect(Collectors.toList());

关于Java,流: how to convert expression with.收集(Collectors.toList()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35885508/

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