首页 > 编程语言 >JAVA8 - 流

JAVA8 - 流

时间:2022-09-18 15:34:29浏览次数:106  
标签:java Stream stream Arrays util import JAVA8

package com.day01;

import org.junit.Test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;

/**
 * Stream 是什么?
 *        - 是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。
 *        - 集合讲的是数据,流讲的是计算!
 *  注意:
 *        -  Stream 自己不会存储元素
 *        -  Stream 不会改变源对象。相反,他们会返回一个持有结果的Stream。
 *        -  Stream 操作是延迟执行的。这意味这他们会等到需要结果的时候才执行

 */
public class StreamDemo {


    //流的创建方式
    @Test
    public void test01(){
        //1. 可以通过Collection 系列集合提供的stream() 或 parallelStream()
        List<String> l = new ArrayList<>();
        Stream<String> stream = l.stream();

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

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


        //4.创建无限流
        //4.1 迭代
        // seed: 迭代开始的初始值
        Stream<Integer> stream4 = Stream.iterate(0, (x) -> x + 2);
        stream4.forEach(System.out::println);
        //4.2 生成
        Stream<Double> stream5 = Stream.generate(() -> Math.random());
        stream5.forEach(System.out::println);
    }
}

标签:java,Stream,stream,Arrays,util,import,JAVA8
From: https://www.cnblogs.com/czzz/p/16704869.html

相关文章

  • 【java8新特性】01:函数式编程及Lambda入门
    我们首先需要先了解什么是函数式编程、函数式编程是一种结构化编程范式、类似于数学函数、它关注的重点在于数据操作、或者说它所提倡的思想是做什么,而不是如何去做。自J......
  • java8新特性:方法引用
    java8新特性:方法引用我们用Lambda表达式来实现匿名方法。但有些情况下,我们用Lambda表达式仅仅是调用一些已经存在的方法,除了调用动作外,没有其他任何多余的动作,在这种情况......
  • Java8Stream流复习和api总结
    构建方式list.stream();Stream.of(list);基础常用APIStream<Number>stream=list.stream();//获取最大值stream.max(比较器);//获取最小值stream.min(比较器);......
  • 并发的核心:CAS 是什么?Java8是如何优化 CAS 的?
    大家可能都听说说Java中的并发包,如果想要读懂Java中的并发包,其核心就是要先读懂CAS机制,因为CAS可以说是并发包的底层实现原理。今天就带大家读懂CAS是......
  • 并发的核心:CAS 是什么?Java8是如何优化 CAS 的?_2
    大家可能都听说说Java中的并发包,如果想要读懂Java中的并发包,其核心就是要先读懂CAS机制,因为CAS可以说是并发包的底层实现原理。今天就带大家读懂CAS是......
  • Java8实战中文版 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1uuve1acqJl9CdzEPG_JNOg点击这里获取提取码 《Java8实战》Java8的公布使Java编程设计产生了天翻地覆的转变。运用Java......
  • Java8lambda表达式的使用
    Java8提供很多lambda表达式,能够使得开发代码更加简洁优美。本文学习lambda后总结了一些lambda表达式的使用。1、list.forEachthis.supplierQuoteByIdRespose.getQuoteIn......
  • java8新特性-lambda、引用
    1./***Lambda表达式的使用举例**/publicclassLambdaTest{@Testpublicvoidtest1(){Runnabler1=newRunnable(){@Ove......
  • Java8 多线程及并行计算demo
    Java8多线程及并行计算demo #接口publicinterfaceRemoteLoader{Stringload();defaultvoiddelay(){try{Thread.sleep(1000L......
  • Java8 新特性之流式数据处理
    一.流式处理简介在我接触到java8流式处理的时候,我的第一感觉是流式处理让集合操作变得简洁了许多,通常我们需要多行代码才能完成的操作,借助于流式处理可以在一行中实现......