Java流中的聚合函数
我不知道为什么我应该使用聚合函数。 我的意思是,如果提高性能,聚合函数将并行执行 但事实并非如此,根据文档,如果不使用parallelStream()而不是stream(),代码将不会是并行的,因此 如果没有更好的方法,为什么要使用stream() 这些代码不应该是相同的吗Java流中的聚合函数,java,parallel-processing,java-8,aggregate-functions,Java,Parallel Processing,Java 8,Aggregate Functions,我不知道为什么我应该使用聚合函数。 我的意思是,如果提高性能,聚合函数将并行执行 但事实并非如此,根据文档,如果不使用parallelStream()而不是stream(),代码将不会是并行的,因此 如果没有更好的方法,为什么要使用stream() 这些代码不应该是相同的吗 //it is not parallel listOfIntegers.stream() .forEach( e -> System.out.print(e+" ")); 及 如果使用str
//it is not parallel
listOfIntegers.stream()
.forEach( e -> System.out.print(e+" "));
及
如果使用
stream
,列表中的所有数据都将按顺序处理,而如果使用parallelStream
,则可能无法按顺序处理数据
考虑方法
static void test(Integer i){
try {
Thread.sleep((long) (1000*Math.random()));
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(i);
}
并使用
parallelStream
和stream
比较此方法的输出。如果使用stream
,列表中的所有数据都将按顺序处理,而如果使用parallelStream
,则可能无法按顺序处理数据
考虑方法
static void test(Integer i){
try {
Thread.sleep((long) (1000*Math.random()));
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(i);
}
并使用
parallelStream
和stream
比较此方法的输出,“聚合”函数是什么意思?流的使用?在语句中使用lambda表达式。您的意思是将map、filter、reduce作为聚合函数吗?forEach
不是聚合函数。除此之外,在您的示例中,您很可能希望使用stream()
而不是parallelStream()
,因为顺序stream()
在大多数情况下会更快。@Holger,forEach()
是一个聚合操作,至少在某种意义上是这样的,因为它在教程中被称为聚合操作。参见Yes,Java将流中的操作称为“聚合函数”,那么“聚合”函数是什么意思呢?流的使用?在语句中使用lambda表达式。您的意思是将map、filter、reduce作为聚合函数吗?forEach
不是聚合函数。除此之外,在您的示例中,您很可能希望使用stream()
而不是parallelStream()
,因为顺序stream()
在大多数情况下会更快。@Holger,forEach()
是一个聚合操作,至少在某种意义上是这样的,因为它在教程中被称为聚合操作。参见Yes,Java将流中的操作称为“聚合函数”,事实上,List.stream()
按顺序处理数据比stream()
的行为更能说明列表的内部。例如,集合
,不按特定顺序馈送流<根据定义,code>forEach()
会使流无序,因此永远不要指望List
行为的实现细节会让元素按顺序处理。人们应该使用forEachOrdered
,而不是forEach
来有意地保持事物的有序性,这对stream()
和parallelStream()
都有效List.stream()
按顺序处理数据这一事实比stream()的行为更能说明列表的内部
。例如,集合
,不按特定顺序馈送流<根据定义,code>forEach()
会使流无序,因此永远不要指望List
行为的实现细节会让元素按顺序处理。人们应该使用forEachOrdered
,而不是forEach
来有意地保持事物的有序,这对stream()
和parallelStream()都有效