java8新特性Stream流简介说明

乔欣 Java教程 发布时间:2023-03-09 10:46:00 阅读数:10235 1
下文笔者讲述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 ); //中止操作,遍历打印这五个
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaCourse/202303/5977.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者