0
点赞
收藏
分享

微信扫一扫

Stream流学习

陆佃 2022-01-06 阅读 69
java

一、了解Stream

Java8中有两大最为重要的改变。第一个是Lambda表达式;另一个则是Stream API(java.uiil.steam.*)。
Stream是Java8中处理集合的关键抽象概念,他可以指定你希望对集合进行的操作,可以执行非常复杂的查询、过滤和映射数据等操作。使用Stream API对集合数据进行操作,就类似于使用SQL执行的数据库查询。也可以使用Steam API来并行执行操作。简而言之,Stream API提供了一种高效且易于使用的处理数据的方式。
在这里插入图片描述

二、什么是Stream

是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。
“集合是数据,流是计算”
注意

  • Stream自己不会存储元素
  • Stream不会改变源对象。他们会返回一个持有结果的信Stream
  • Stream操作时延迟执行的,这意味着他们会等到需要结果的时候才执行。
    在这里插入图片描述

三、创建Stream

    /**
     * Stream的三个操作步骤
     * 1.创建Stream
     * 2.中间操作
     * 3.终止操作(终端操作)
     */
    @Test
    public void test1(){
        //1.通过Collection系列集合体提供的steam()或parallelStream()
        List<String> list = new ArrayList<>();
        Stream<String> stream = list.stream();

        //2.通过Arrays中的静态方法stream()获取数组流
        MemberEntity[] memberEntities = new MemberEntity[10];
        Stream<MemberEntity> memberEntityStream = Arrays.stream(memberEntities);

        //3.通过Stream中的静态方法of()
        Stream<String> stream1 = Stream.of("a","b","c","d");

        //4.创建无限流
        //迭代
        Stream<Integer> stream2 = Stream.iterate(0,(x) -> x + 2);
        stream2.limit(10).forEach(System.out::println);

        //生成
        Stream.generate(() -> (int)(Math.random())).limit(5).forEach(System.out::println);
    }
举报

相关推荐

0 条评论