gpt4 book ai didi

java - 我可以在一个流中进行拆分和过滤吗?

转载 作者:行者123 更新时间:2023-11-30 01:52:53 25 4
gpt4 key购买 nike

我正在尝试执行以下操作......

我有以下模式的字符串列表:

John,Peter,Carl
Rose,Joanne,Natalie

目前我正在逐行读取并输出流......

像这样:

 Files.lines(myfile).toURI()))

这将返回一个流。

我知道我可以将它们收集到一个列表中,但我想知道在这个流中我是否可以拆分并执行更多逻辑?

我尝试拆分每一行并进行过滤,以防三个预期字段中的任何一个为空,这可能吗?

目前我以“旧方式”使用它,如下所示:

List<TripleNames> validValues = new ArrayList();
for(String value:values) { //values represent each line comma separated
final String[] names = line.split(",");
if (StringUtils.isNotBlank(names[0]) && StringUtils.isNotBlank(names[1]).... {
validValues.add(new TripleNames(names[0], names[1], names[2]);
}
}

有什么想法吗?

最佳答案

在收集到列表之前,您可能会寻找mapping:

List<TripleNames> validValues = values.stream()
.map(line -> line.split(","))
.filter(names -> StringUtils.isNotBlank(names[0]) && StringUtils.isNotBlank(names[1]))
.map(names -> new TripleNames(names[0], names[1], names[2]))
.collect(Collectors.toList());

关于java - 我可以在一个流中进行拆分和过滤吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55466580/

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