使用Eclipse和Java-Version1.8
public Stream<Ship> remainingShips() {
return this.b.getShips().stream().filter(s -> !s.isSunk());.
}
public Stream<Ship> sunkShips() {
return this.b.getShips().stream().filter(s -> s.isSunk());.
}
System.out.println("Sunk ships => " + this.opponent.sunkShips());
但这将只是打印stream对象,我如何能够访问stream中的所有项并打印每个项?
您可以迭代流的元素并打印它们:
System.out.println("Sunk ships => ");
this.opponent.sunkShips().forEach(System.out::println);
也可以从流中生成列表并打印:
System.out.println("Sunk ships => " + this.opponent.sunkShips().collect(Collectors.toList());
问题内容: 如何使用JavaScript从值读取换行符并将所有换行符替换为元素? 例: 从PHP传递的变量如下: 我希望我的结果在JavaScript转换后看起来像这样: 问题答案: 这会将所有退货转换为HTML 如果您想知道什么?:的意思。它称为非捕获组。这意味着括号内的正则表达式组不会保存在内存中,以后再引用。
问题内容: Collector的Javadoc显示了如何将流的元素收集到新的List中。有没有一种将结果添加到现有ArrayList中的方法? 问题答案: 注意: osid的答案 显示了如何使用来添加到现有集合。这是对现有集合进行变异的有用且有效的技术。我的答案解决了为什么您不应该使用A 来突变现有集合的原因。 简短的答案是 no ,至少在一般情况下不是这样,您不应该使用a 来修改现有集合。 原因
Collector的Javadoc展示了如何将流的元素收集到一个新列表中。是否有一个单行程序将结果添加到现有的ArrayList中?
问题内容: 有一个包含15个数字的列表,我需要编写一些代码来生成这些数字的所有32,768个组合。 我已经找到了一些代码(通过Googling),这些代码显然可以满足我的需求,但是我发现代码相当不透明并且对使用它很谨慎。另外我觉得必须有一个更优雅的解决方案。 对我而言,唯一发生的就是循环遍历十进制整数1–32768,并将其转换为二进制,然后使用二进制表示形式作为筛选器来选择适当的数字。 有人知道更
更正:正如你们所指出的,我使用的是Java7。现在,方法就在那里。但问题仍然适用: 如何从字符串中获取?
我有一个java流,其中我必须只对一些对象应用操作,但我希望得到具有相同元素数的流。例如 我有用户类。 我想增加50个现有余额为500或以上的用户的余额。在返回列表中,我还需要未修改余额的用户, 回报应该是 和原来的顺序一样,但是记录被修改了,这符合条件。任何想法我怎么能用流和功能方式做到这一点,没有如果,等等 我尝试了方法,但它只是将过滤后的值传递到下游。