# java8-new-feature **Repository Path**: suncp/java8-new-feature ## Basic Information - **Project Name**: java8-new-feature - **Description**: java8 新特性仓库,stream API,Lambda表达式,函数式接口等。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2022-04-03 - **Last Updated**: 2024-08-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # java8-new-feature #### 介绍 java8 新特性仓库,stream API,Lambda表达式,函数式接口等。 #### 学习用途 阅读源码,es等源码中大量用到lambda表达式等java8新特性,特意来学习一下。 #### 学习步骤 1.lambda 2.函数式接口 3.方法引用 4.streamAPI #### streamAPI 简介 为什么要用StreamAPI 处理实际开发中多数据源对应的多个数据,得到理想结构 Stream和Collection集合的区别: Collection是一种静态的内存数据结构,而Stream是有关计算的。前者是主要面向内存,存储在内存中,后者主要是面向CPU,通过CPU实现计算。 Stream到底是什么? 是数据渠道,用于操作数据源(集合,数组等)所生成的元素序列。 集合讲的是数据,Stream讲的是计算。 Stream操作的三个步骤: 1.创建 一个数据源(数组或集合),获取一个流, 2.中间操作 一个中间操作链,对数据源的数据进行处理 3.终止操作(终端操作) 一旦执行终止操作,就执行中间操作链,并产生结果。之后,不再使用。 注意: 1.Stream 自己不会存储元素 2.Stream 不会改变源对象,会返回一个持有新结果的Stream 3.Stream 操作是延时执行的,这意味着他们会等到需要结果的时候才执行。 #### Optional简单使用 #### 参考 https://www.bilibili.com/video/BV1Kb411W75N?p=669 --> java8新特性章节