Day13
Stream流{JDK1.8之后出现}
stream流只能用一次
关注的是指做什么。而不是怎么做
用于解决集合库现有的弊端
Lambda表达式:做什么,怎么做
使用步骤:
1.拼接流式模型:建立一个生产线,按照生产线来生产商品
数据来源:可以是集合,数组等
pipelining:中间操作返回集合本身,并不会保存数据源
内部迭代:流可以直接调用遍历方法
(外部迭代:利用for循坏或者迭代器进行遍历,显示在集合外边进行遍历)
获取流
根据Collection集合(单列集合)获取流 用集合中的方法 调用stream方法
通过Steam包中的静态方法of()获取流static<T>Stream<T> of( T...values)
Stream流中的常用方法
延迟方法
返回值任然是Stream接口自身类型的方法
limit方法:
参数是一个long类型,如果集合当前长度大于参数则进行截取,否则不进行操作
可以调用其他方法
map方法
可以将一种类型转换为另一种类型的映射
将流中的元素映射到另一个流中,需使用map方法
终结方法
返回值不在是Stream接口自身类型的方法
forEach:
接受一个Consumer接口(消费型的函数式接口,可以传递Lambda表达式,消费数据)
作用:
用来遍历流中的数据
是一个终结方法,遍历之后不能继续调用Stream流中的其他方法
count方法:
是一个终结方法,可用于统计Stream流中的元素个数,返回值是一个long类型的整数,不能再继续调用Stream流中的其他方法
skip方法
如果流的当前长度大于n,则跳过前n个;否则将会得到一个长度为0的空流。
count:用于把流组合到一起
如果有两个流,希望合并成为一个流,name可以使用Stream接口的静态方法count
|
|