java8-08-创建stream流

为什么用stream
                            应用函数式编程  配合Lamdba表达式 更快操作集合类 数组 
 
 
什么是 stream
                            
 
总结: Stream 是用函数式编程方式在集合类上进行复杂操作的工具,其集成了Java 8中的众多新特性之一的聚合操作,开发者可以更容易地使用Lambda表达式,并且更方便地实现对集合的查找、遍历、过滤以及常见计算等。
 
stream 组成(操作流程)
 
                        根据源 (集合类,数组)创建stream流--------> 中间操作(数据筛选,过滤...)-------->终止操作(得到结果)
 
创建stream流的四种方式
 
1.通过Collection系列  集合提供的stream()
 
2.通过Arrays 的静态方法 stream()
3.通过Stream类的静态方法 of()
4.创建无限流
4.1(迭代)
4.2生成
怎么创建stream
 
 1 package com.wf.zhang.java8.stream;
 2 
 3 import org.junit.Test;
 4 
 5 import java.util.ArrayList;
 6 import java.util.Arrays;
 7 import java.util.List;
 8 import java.util.stream.Stream;
 9 
10 public class TestStream{
11     @Test
12     public  void  test01(){
13 
14         //1.通过Collection系列  集合提供的stream()
15         List<String> list = new ArrayList<>();
16         Stream<String> stream1 = list.stream();
17 
18 
19         //2.通过Arrays 的静态方法 stream()
20         String [] str = new  String[10];
21         Stream<String> stream2 = Arrays.stream(str);
22 
23         //3.通过Stream类的静态方法 of()
24         Stream<String> stream3 = Stream.of("aa", "bb", "cc");
25 
26 
27         //4.创建无限流
28         //4.1(迭代)  从1开始 每次加2 产生5个数
29         Stream<Integer> stream4 = Stream.iterate(1, (x) -> x + 2);
30         stream4.limit(5).forEach(System.out::println);
31 
32         //4.2生成 随机生成 5个数
33         Stream.generate(() ->Math.random())
34                 .limit(5)
35                 .forEach(System.out::println);
36     }
37 }
View Code

 

posted @ 2019-11-09 16:15  wf.zhang  阅读(220)  评论(0编辑  收藏  举报