zoukankan      html  css  js  c++  java
  • Java8两大特性(一)——Stream

    什么是Stream?

      Stream(流)是一个来自数据源的元素队列并且支持聚合操作,元素流在管道中经过中间操作,最终操作得到结果。

      数据源:集合,数组,I/O channel,产生器generator。

      聚合操作:类似于sql比如:filter,find,map,match,sorted.

    生成流:

    • stream() − 为集合创建串行流。

    • parallelStream() − 为集合创建并行流。

    通过例子看方法:

    list.stream().limit(10).sorted().forEach(System.out::println);

    上面例子:取前10条》排序》循环输出

    List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
    List<Integer> squaresList = numbers.stream().map( i -> i*i).distinct().collect(Collectors.toList());

    上面例子:将本身映射成本身的平方》去重》转化为list 

    List<String>strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl");
    String mergedString
    = strings.stream().filter(string -> !string.isEmpty()).collect(Collectors.joining(", "));

    上面例子:过滤掉空字符串》用”,“分割并进行合并

    List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
    IntSummaryStatistics stats = numbers.stream().mapToInt((x) -> x).summaryStatistics();
    System.out.println("列表中最大的数 : " + stats.getMax());
    System.out.println("列表中最小的数 : " + stats.getMin());
    System.out.println("所有数之和 : " + stats.getSum());
    System.out.println("平均数 : " + stats.getAverage());

    上面例子:利用到统计主要用于int ,double 等基本类型!

          转化成基本类型》转换成统计类型》输出各种结果

  • 相关阅读:
    Chrome即将封杀Google Earth、Google Talk等插件
    诗情画意
    奇联妙对
    理解大型分布式网站你必须知道这些概念 (转)
    RESTful API
    什么是微服务?
    Spring Cloud与Spring Boot的关系
    springboot定时任务
    SpringBoot工程目录配置
    Spring Boot中配置文件application.properties使用
  • 原文地址:https://www.cnblogs.com/xcgShare/p/11686008.html
Copyright © 2011-2022 走看看