gpt4 book ai didi

java - 将 csv 元素的集合转换为列表 Java 8

转载 作者:行者123 更新时间:2023-12-04 10:13:13 26 4
gpt4 key购买 nike

我创建了以下 Set :

Set<String> set = new HashSet<>();
set.add("Test1,Test2");
set.add("Test3,Test4");

我需要转换这个 SetList通过分别拆分所有元素。

final List应该包含四个元素,即

Test1, Test2, Test3, Test4



请说明如何转换 SetList使用 Java 8。

我试过这样,但它返回一个 ListListString , 而不是 ListString .
set.stream().map(x-> Arrays.asList(x.split(","))).collect(Collectors.toList());

最佳答案

您需要使用 flatMap(...)将元素列表的列表转换为元素列表。进flatMap(...)您需要提供一个 Lamba 或方法引用来将流(列表)的元素转换为元素流(列表的实际元素)。

由于这里流中的元素是列表,因此您可以执行 Collection::stream但是如果你要保留数组(不使用 Arrays.asList(...) )你也可以做 Arrays::stream .

最终可能的解决方案可能是:

set.stream().map(x -> x.split(",")).flatMap(Arrays::stream).collect(Collectors.toList())

或者这个效率较低的解决方案:

set.stream().map(x -> Arrays.asList(x.split(","))).flatMap(Collection::stream).collect(Collectors.toList())

关于java - 将 csv 元素的集合转换为列表 Java 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61214777/

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