美文网首页工作生活
Java8并行流与并行排序

Java8并行流与并行排序

作者: 夏与清风 | 来源:发表于2019-07-04 16:11 被阅读0次

1、使用并行流过滤数据

案例:统计1-1000000内所有的质数数量。

并行统计质数总数

2、从集合中得到并行流

在函数式编程中,我们可以从集合中得到一个流或并行流。例如从学生集合中统计平均分:

List<Student> list =new ArrayList<>();

double avg = list.stream().mapToInt(s->s.score).average().getAsDouble();

stream()方法可以获得一个流,若想并行执行,可以使用parallelStream()方法:

double avg = list.parallelStream().mapToInt(s->s.score).average().getAsDouble();

3、并行排序

除了并行流之外,普通数组也可以并行化。如数组排序可以使用Arrays.parallelSort(arr)并行排序。

int[] arr =new int[]{12,52,4,56,6,7,3};

Arrays.parallelSort(arr);

对数组中数据赋值方法:

setAll()

第一个参数是给定的数组,第二个参数是一个函数式接口。使用方式:

Arrays.setAll(arr,(i)->10); //串行执行,给arr数组增加元素10

Arrays.parallelSetAll(arr,(i)->10); //并行执行,给arr数组增加元素10

--参考文献《实战Java高并发程序设计》

相关文章

  • Java8并行流与并行排序

    1、使用并行流过滤数据 案例:统计1-1000000内所有的质数数量。 2、从集合中得到并行流 在函数式编程中,我...

  • Java 8 与并发(二)

    一、并行流与并行排序 Java 8中可以在接口不变的情况下,将流改为并行流,方便在多线程中进行集合中的数据处理。 ...

  • 并行流与顺序流

    ForkJoin框架 普通for java8并行流,底层就是forkjoin框架

  • Java8使用并行流(ParallelStream)注意事项

    Java8并行流ParallelStream和Stream的区别就是支持并行执行,提高程序运行效率。但是如果使用不...

  • 并行流和串行流

    并行流 并行流就是把一个内容分成多个数据块,并用不同的线程分别处理每个数据块的流。 Java8中将并行进行了优化,...

  • Stream

    并行流 并行流就是把一个内容分成多个数据库,并用不同的线程分别处理每个数据块的流 Java8中将并行流进行了优化,...

  • JAVA 8 forkjoin实际体验

    JAVA8 函数编程 -都说java8 新的函数式编程特别是并行流式编程,但是并行流的性能并不一定就好 没有很复杂...

  • Java8并行流

    并发是多个任务共享时间段(由CPU切换执行,就像是在同时执行)并行是多个任务发生在同一时刻(真真正正的同时执行)(...

  • java8并行流

    并行流就是一个把内容分成多个数据块,并用不同的线程分别处理每个数据块的流,这样一来,你就可以自动把给定操作的工作负...

  • Java_Stream流

    目录1.什么是Stream2.API功能举例-- 2.1 串行流与并行流-- 2.1.1 串行流与并行流的获取方式...

网友评论

    本文标题:Java8并行流与并行排序

    本文链接:https://www.haomeiwen.com/subject/xyifhctx.html