gpt4 book ai didi

java - 正确终止java流

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:02:56 26 4
gpt4 key购买 nike

neighboursOfCurrentVertexList = neighboursOfCurrentVertexList.stream()
.filter(vertex -> !vertex.isMarked())
.map(vertex -> {
vertex.setMarked(true);
queueToVisitVertex.add(vertex);
return vertex;
}).collect(Collectors.toList());

我已经使用 java 流实现了这个 breadthFirstSearch 算法。首先,我过滤检查顶点是否被标记,然后如果没有被标记,我将它添加到队列中。当我使用 .map 时,我需要以 .collect(Collectors.toList()) 之类的终止操作结束。

我的问题是,这对我来说不合适,因为我使用的是 collect,它会返回已过滤顶点的新列表。在这种情况下我应该使用什么终端操作?我不需要收集新列表。我只想使用 map 操作。谢谢

最佳答案

使用.forEach而不是 .map:

neighboursOfCurrentVertexList.stream()
.filter(vertex -> !vertex.isMarked())
.forEach(vertex -> {
vertex.setMarked(true);
queueToVisitVertex.add(vertex);
});

关于java - 正确终止java流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45844292/

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