Java8 新特性 Stream() 创建流

通过Controllere类的Stream()和parallelStream()创建流

//通过集合创建流
    @Test
    public void test1() {
        String arr[] = new String[]{"a", "b", "c"};
        //把数组转换成集合
        List<String> list = Arrays.asList(arr);
        //生成stream流(串行流)
        Stream<String> stream = list.stream();
        //生成并行流
        Stream<String> stringStream = list.parallelStream();
    }

通过数组创建流

    @Test
    public void test2() {
        String arr[] = new String[]{"a", "b", "c"};
        //通过数据里面的stream()方法来创建的
        Stream<String> stream = Arrays.stream(arr);
        //通过Stream类的静态方法创建方法
        Stream<String> arr1 = Stream.of(arr);
    }

创建一个空的流

    @Test
    public void test3() {
        //创建一个空流
        Stream<Object> empty = Stream.empty();
    }

无限流

    @Test
    public void test4() {
        //生成一个全是G的无限流
        //参数是一个supplier函数式接口,不接收参数,只管生产
        //可以根据自己的要求来创建流
        Stream<String> generate = Stream.generate(() -> "G");
        System.out.println("生成5个全是G的流:");
        generate.limit(5).forEach(System.out::println);

        //生成一个
        //根据初始化生成的值,最后的一个输出的是2的9次方
        Stream<Integer> iterate = Stream.iterate(1, (x) -> x * 2);
        iterate.limit(10).forEach(System.out::println);
        /**
         * 1
         * 2
         * 4
         * 8
         * 16
         * 32
         * 64
         * 128
         * 256
         * 512
         */
    }

细节决定成败!

个人愚见,如有不对,恳请扶正!

原文地址:https://www.cnblogs.com/xdtg/p/11994642.html

时间: 2024-11-05 14:43:39

Java8 新特性 Stream() 创建流的相关文章

Java8 新特性 Stream 无状态中间操作

无状态中间操作 Java8 新特性 Stream 练习实例 中间无状态操作,可以在单个对单个的数据进行处理.比如:filter(过滤)一个元素的时候,也可以判断,比如map(映射)... 过滤 filter 映射 map 扁夹化 flatMap 遍厉 peek 过滤 filter 接收一个谓词断言,boolean Pridicate< T > 根据返回值类型来确定是否过滤这一条属性. // 过滤 filter @Test public void filterTest() { list.stre

Java8 新特性 Stream 短路终端操作

短路终端操作 Java8 新特性 Stream 练习实例 传入一个谓词,返回传为boolean,如果符合条件,则直接结束流. 匹配所有 allMatch 任意匹配 anymMatch 不匹配 noneMatch 查找首个 findFirst 查找任意 findAny 匹配所有 allMatch //匹配所有 allMatch @Test public void allMatchTest() { boolean b = list.stream() //所有的商品价格都大于40 .allMatch(

Java8 新特性 Stream 非短路终端操作

非短路终端操作 Java8 新特性 Stream 练习实例 非短路终端操作,就是所有的元素都遍厉完,直到最后才结束.用来收集成自己想要的数据. 方法有: 遍厉 forEach 归约 reduce 最大值 max 最小值 min 聚合 collect 计数 count 遍厉 forEach //遍厉 forEach @Test public void forEachTest() { list.stream() .forEach(iter -> //以json格式输出 System.out.prin

java8新特性,使用流遍历集合

在这篇“Java 8新特性教程”系列文章中,我们会深入解释,并通过代码来展示,如何通过流来遍历集合,如何从集合和数组来创建流,以及怎么聚合流的值. 在之前的文章“遍历.过滤.处理集合及使用Lambda表达式增强方法”中,我已经深入解释并演示了通过lambda表达式和方法引用来遍历集合,使用predicate接口来过滤集合,实现接口的默认方法,最后还演示了接口静态方法的实现. 源代码都在我的Github上:可以从 这里克隆. 内容列表 使用流来遍历集合. 从集合或数组创建流. 聚合流中的值. 1.

Java8新特性Stream API与Lambda表达式详解(1)

1 为什么需要Stream与Lambda表达式? 1.1  为什么需要Stream Stream作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念.它也不同于 StAX 对 XML 解析的 Stream,也不是 Amazon Kinesis 对大数据实时处理的 Stream.Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利.高效的聚合操作(aggr

java8 新特性 Stream

1. Stream初体验 我们先来看看Java里面是怎么定义Stream的: A sequence of elements supporting sequential and parallel aggregate operations. 我们来解读一下上面的那句话: Stream是元素的集合,这点让Stream看起来用些类似Iterator: 可以支持顺序和并行的对原Stream进行汇聚的操作: 大家可以把Stream当成一个高级版本的Iterator.原始版本的Iterator,用户只能一个一

Java8新特性 --Stream

一. 创建Stream 创建Stream方式一: 集合类的stream()或 parallelStream() java List<String> list = new ArrayList<>(); Stream<String> stream = list.stream(); 创建Stream方式二: 通过Arrays中的静态方法stream()获取 String[] strings = new String[10]; Stream<String> stre

java8新特性——Stream

一.stream介绍 stream(流)是一个来自数据源的元素队列 集合讲的是数据,而流讲的是计算 注意: ①stream自己不会存储元素 ②stream不会改变源对象,相反他会返回一个持有结果的新stream ③stream操作是延时执行的,这意味着他们会等到需要结果的时候才执行 stream操作的三个步骤 ①创建stream //1.通过Collection 系列集合提供的stream()[串行流]或 [并行流]来生成流 List list = new ArrayList(); Stream

7. Java8新特性_创建 Stream

一.了解Stream Java8中有两大最为重要的改变.第一个是Lambda表达式:另外一个则是Stream API Stream 是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找.过滤和映射数据等操作.使用Stream API 对集合数据进行操作,就类似于使用SQL执行的数据库查询.也可以使用Stream API来并行执行操作.简而言之,Stream API提供了一种高效且易于使用的处理数据的方式. 二.什么是Stream 流(Stream)到底是