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返回一个新的过滤顶点列表。在这种情况下,我应该使用什么终端操作?我不需要收集新名单。我只想使用地图操作,这就是全部。谢谢你
使用.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也没有运行脚本,只是在控制台上写一个命令),我