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 }
古人学问无遗力,少壮工夫老始成。
纸上得来终觉浅,绝知此事要躬行。