Appearance
Java 8 新特性
什么是Stream
流(Stream)与集合类似,但集合中保存的是数据,而Stream中保存对集合或数组数据的操作。
原料 -> 工序1 -> 工序2 -> 工序n -> 产品
Stream特点
- Stream自己不会存储元素
- Steram不会改变源对象。相关,他们会返回一个持有结果的新Stream
- Stream操作是延迟执行的,会等到需要结果的时候才执行
Stream使用步骤
创建
新建一个流
中间操作
在一个或多个步骤中,将初始化Stream转化到另一个Stream的中间操作
终止操作
使用一个终止操作来产生一个结果。该操作会强制之前的延迟操作立即执行,在此之后,该Stream就不能使用了
创建Stream
通过Collection对象的steram或parallelStream方法
通过Arrays类的stream方法
通过Stream接口的of、iterate、generate方法
通过IntStream、LongStream、DoubleStream接口中的of、range、rangeClosed方法
中间操作
- filter、limit、skip、distinct、sorted
- map
- parallel
终止操作
- forEach、min、max、count
- reduce、collect