// array 工具类   可以用来快捷的将数组转化为list
List<String> strings = Arrays.asList("zhongguo", "riben", "yingguo");
// 转化为一个新的list
List<String> collect = strings.stream().map(number -> number += "dfvgcdvcx").collect(Collectors.toList());
// 流输出
collect.forEach(num -> System.out.println( num));
// 帅选偶数
List<Integer> numberList = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
List<Integer> collect1 = numberList.stream().filter(num -> num % 2 == 0).collect(Collectors.toList());
collect1.forEach(number -> System.out.println(number));
// 从无线流数据中选择第一个
List<Integer> numberList1= Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
Optional<Integer> first = numberList1.stream().findFirst();
// 输出第一个
System.out.println(first.orElse(-1));
// 获取或者扔掉前 n 个元素
List<Integer> ageList = Arrays.asList(11, 22, 13, 14, 25, 26);
Stream<Integer> limit = ageList.stream().limit(4);
limit.forEach(li -> System.out.println(li));
Stream<Integer> skip = ageList.stream().skip(4);
skip.forEach(sk-> System.out.println(sk));
// 数学统计功能
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6);
IntSummaryStatistics intSummaryStatistics = list.stream().mapToInt(x -> x).summaryStatistics();
System.out.println(intSummaryStatistics.getMax());
System.out.println(intSummaryStatistics.getMin());
System.out.println(intSummaryStatistics.getAverage());
System.out.println(intSummaryStatistics.getCount());
System.out.println(intSummaryStatistics.getSum());
// 分组聚合功能
List<Integer> groupList = Arrays.asList(11, 22, 13, 14, 25, 26);
Map<Integer, List<Integer>> collect2 = groupList.stream().collect(Collectors.groupingBy(age -> age / 10));
collect2.forEach((k,v) -> System.out.println(k+"nmnmn"+v));
// 按某个条件分组 会得到一个key 为布尔的map
List<Integer> patationList = Arrays.asList(11, 22, 13, 14, 25, 26);
Map<Boolean, List<Integer>> collect3 = patationList.stream()
.collect(Collectors.partitioningBy(age -> age > 18));
// 生成自己的 Stream 流
Random random = new Random();
Stream<Integer> generate = Stream.generate(random::nextInt);
generate.forEach(num -> System.out.println(num));
// 生成自己的 UUID 流
Stream<UUID> generate1 = Stream.generate(UUID::randomUUID);
generate1.limit(5).forEach(System.out::println);

JDK新特性关于流操作部分  

最新文章

  1. 织梦DedeCMS模板防盗的四种方法
  2. apache 开机自启动脚本设置
  3. dir、help查询
  4. String Mybatis 多数据源配置
  5. 【转】四种常见的POST提交数据方式
  6. PhotoShop 移动工具详解
  7. HDU2054_A == B ?【模拟题】【大数】【水的问题】
  8. IIS express 7.5 配置和多网站执行
  9. OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波
  10. php curl_setopt的相关设置查询手册
  11. 前端基于react,后端基于.net core2.0的开发之路(1) 介绍
  12. 你不知道的JS(3)来聊聊this
  13. sql server 锁与事务拨云见日(上)
  14. [2017-8-02]Android Learning Day9
  15. vim常用指令整理小结
  16. html &lt;iframe&gt;介绍
  17. Ubuntu16.04安装&amp;创建虚拟环境
  18. ant 小结
  19. 行为类模式(七):观察者(Observer)
  20. 解密OpenTSDB的表存储优化【转】

热门文章

  1. Spring Security OAuth2 Demo —— 隐式授权模式(Implicit)
  2. 移动前端不得不了解的HTML5 head 头标签 —— Meta 标签
  3. ACM-ICPC 2018 焦作赛区网络预赛J题 Participate in E-sports
  4. Swift Playground词法分析器DEMO
  5. 详解numpy的argmax
  6. 【CSS】329- 非常强!3行核心css代码的rate评分组件
  7. 【JS】306- 深入理解 call,apply 和 bind
  8. Java_用*输出等腰三角形
  9. AQS系列(三)- ReentrantReadWriteLock读写锁的加锁
  10. 【ES6】数值的扩展