java8新特性Stream流简介说明
下文笔者讲述java8中stream流的简介说明,如下所示
流(stream)简介
stream其实指数据流 用于操作生产元素序列 stream注意事项: 1.Stream自身不存储元素 2.Stream不会改变源对象 只返回一个持有结果的新Stream 3.Stream操作是延迟执行 意味着他们会等到需要结果的时候才去执行
Stream操作三个步骤
创建stream 一个数据源(如:集合,数组),获取一个流 中间操作 一个中间操作链,对数据源的数据进行处理 中止操作(终端操作) 一个中止操作,执行中间操作链,并产生结果例:
package com.java265.jedis.test; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import java.util.Arraylist; import java.util.Arrays; import java.util.List; import java.util.stream.Stream; /** * StreamApi */ @SpringBootTest @RunWith(SpringRunner.class) public class StreamApiDemo { /** * Stream三个操作步骤 * 1,创建Stream * 2,中间操作 * 3,中止操作 */ /** * 创建Stream流的方式 */ @Test public void test1() { /**可以通过Collection 集合系列提供的 * stream() 串行流 * 或 * parallelStream() 并行流 */ List<String> list = new ArrayList <>( ); Stream<String> stream = list.stream(); /** *通过Arrays中的静态方法stream()获取数组流 */ Use[] uses = new Use[10]; Stream<Use> stream1 = Arrays.stream( uses ); /** * 通过Stream类中的静态方法 of() */ Stream<String> stream2 = Stream.of( "aa" ); /** * 创建无限流 */ //迭代 Stream<Integer> stream3 = Stream.iterate( 0,(x) -> x+2 ); stream3.limit(8).forEach( (x) -> System.out.println(x)); //生成 Stream.generate( () -> Math.random() ) //数据源,可以产生任意的随机数 .limit( 5 ) //中间操作,只需要五个随机数 .forEach( System.out::println ); //中止操作,遍历打印这五个 } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。