当前位置: 首页 > 知识库问答 >
问题:

正确终止java流

滕祯
2023-03-14
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返回一个新的过滤顶点列表。在这种情况下,我应该使用什么终端操作?我不需要收集新名单。我只想使用地图操作,这就是全部。谢谢你

共有1个答案

陆宝
2023-03-14

使用.foreach代替.map:

neighboursOfCurrentVertexList.stream()
        .filter(vertex -> !vertex.isMarked())
        .forEach(vertex -> {
            vertex.setMarked(true);
            queueToVisitVertex.add(vertex);
        });
 类似资料:
  • 我正在为安装库伯内特斯做一个apt-get更新,我收到这条消息https://packages.cloud.google.com/aptkubernetes-xenial Release无法握手:TLS连接未正确终止。 当然,在稍后的过程中;""存储库'http://apt.kubernetes.iokubernetes-xenial Release'没有Release文件" 我已正确设置代理:

  • 我有一个方法getNextPrime(int num),它应该在该方法接收的值之后识别最接近的质数。 如果num是偶数,它将递增它并再次调用自己。如果它是奇数,它将运行一个for循环来检查它是否可以被3和num的一半值之间的奇数整除。如果是,那么它将把num增加2,方法将再次调用自己,否则它将返回新的num值,这是一个质数。 问题是,当程序到达return语句时,它将跳转到if语句并返回num 1

  • 好吧,我对Mac和OSX有点陌生,但我选择了一个,这样我就可以用一个对我的Java程序进行一些故障排除,因为我工作的公司使用OSX和Windows机器的组合。我遇到的问题是,当我从Oracle的网站安装Java7时,它更新了首选项菜单,双击.jar文件时显示可以正确执行这些文件,但终端窗口的版本仍然是1.6.0_43,从终端运行相同的.jar文件会导致运行时错误,原因是版本较旧。 当我导航到/li

  • 问题内容: 我找到了终止(关闭或停止)Java程序的方法。我找到了两个解决方案。 使用 return; 当我想退出或终止程序执行时,添加它。 使用 System.exit() ; 有时我用它。我从This Question中了解了 Sytem.exit()。 所以,我对他们都了解一点。但是我仍然对它们的实际工作方式感到困惑。请检查以下代码… 我确定 2不会出现。我想知道为什么或其他代码可以在的语句

  • 主要内容:1 什么是Java终止线程,2 Thread类终止线程的方法,3 Java终止线程的例子1,4 Java终止线程的例子2,5 Java终止线程的例子3,6 isInterrupted和interrupted方法1 什么是Java终止线程 如果任何线程处于睡眠或等待状态(即,调用sleep()或wait()方法),则在线程上调用interrupt()方法,会抛出InterruptedException中断睡眠或等待状态。如果线程未处于睡眠或等待状态,则调用interrupt()方法将执行

  • 假设我运行了一个带有ErrorAction Stop的命令,它生成了一个错误。我想知道错误最初是否终止?我有ErrorVariable或$Error对象。ErrorVariable能捕捉两种错误吗?我正在寻找一处房产。NET/PowerShell对象,它可以告诉我这个错误正在终止。非终止错误也会产生异常吗? 另外,当我在控制台上写一个命令时(不是ISE也没有运行脚本,只是在控制台上写一个命令),我