gpt4 book ai didi

java - 使用流将列表的集合与单个值结合起来

转载 作者:太空狗 更新时间:2023-10-29 22:39:53 24 4
gpt4 key购买 nike

我有以下数据:

 CustomClass first = new CustomClass(1, Arrays.asList(1, 2, 3));
CustomClass second = new CustomClass(5, Arrays.asList(6,7,8));
List<CustomClass> list = Arrays.asList(first, second);

现在我想将这些数据收集到一个列表中,该列表包含来自 CustomClass 的值及其列表中的值。

我想得到这个:1, 1, 2, 3, 5, 6, 7, 8

这是我实现的:

list.stream().forEach(item -> {
result.add(item.value);
item.values.stream().forEach(seconditem -> result.add(seconditem));
});

我知道流有一个收集方法,但我不明白如何使用它从同一类中收集一个值和值列表。

最佳答案

您可以使用 Stream.concat合并 Stream.of 单个值和其他值的流:

List<Integer> result = list.stream()
.flatMap(x -> Stream.concat(Stream.of(x.value), x.values.stream()))
.collect(Collectors.toList());

关于java - 使用流将列表的集合与单个值结合起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45834046/

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