public static void main(String[] args) throws Exception {
List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
//not work
list.stream().filter(new Predicate<String>() {
@Override
public boolean test(String s) {
System.out.println("1:test:" + s);
return true;
}
}).map(s -> {
System.out.println("1:map:" + s);
return s;
});
// it work
list.stream().filter(new Predicate<String>() {
@Override
public boolean test(String s) {
System.out.println("2:test" + s);
return true;
}
}).map(s -> {
System.out.println("2:map" + s);
return s;
}).collect(Collectors.toList());
}
上述代码的输出为:
2:test1
2:map1
2:test2
2:map2
2:test3
2:map3
2:test4
2:map4
流管道由一个源(可能是数组、集合、生成器函数、I/O通道等)、零个或多个中间操作(将一个流转换为另一个流,如filter(谓词))和一个终端操作(产生结果或副作用,如count()或forEach(消费者))组成。溪水是懒散的;只有在终端操作启动时才执行对源数据的计算,并且只有在需要时才消耗源元素。
在此阅读更多信息
假设我有一张房间清单 每个房间都有一份人员名单。 使用java8 streams,我想迭代房间列表,获取所有人员,在每个节点上执行一些方法(doSomething()),并获取所有过滤对象的列表。 这是使用java 8的最佳实践吗?
我正在用Java8为一个文件编写一个解析器。使用读取该文件,并返回一个顺序的。 每一行都映射到一个数据对象,如下所示: 现在我们可以将流中的每一行映射到相应的结果: 但是,流现在包含要删除的值: 如我在中所知,如果需要结果,我如何组合映射/筛选操作?
我有一个需要过滤的对象。 我需要输入“数据”,只有“isEnabled”为真的值的ID。
我需要在我的服务器上运行函数 但是由于安全原因被禁用,但是PHP执行函数正在运行和。 是否可以使用php函数执行相同的操作? 禁用功能 链接,符号链接,执行,通过,proc_close,proc_get_status,proc_open,shell_exec,系统,流行,关闭
我对流图法有点困惑。有一些简单的源代码可以运行: map()签名:Stream map(函数 在我的选择中,我认为赋予文字的功能。stream()。map应该有1个参数,但是string::length没有任何输入参数,只返回int。 它看起来像word流调用字符串中的每个元素“word”。长度(),但我不知道该怎么做?为什么string::length签名不需要与函数签名(R apply(T))
这是我现在的代码。 我的同事使用Java流API编写了非常好的代码。我试图将其重写为一个流语句,但我被卡住了。 我该怎么做?理想情况下,我想要一个单一的流媒体声明。。。