1,Stream不是集合元素,它不是数据结构,并不保存数据,它就是stream流,流就是数据渠道,用于操作数据源(集合,数组)所生成的元素集合,它更像一个高级的Iterator,原始的Iterator只能一个一个的遍历元素,而Stream就是一个高级的版本,单向,不可逆,只能遍历一次。
2,Stream常用的方法,filter(过滤),sorted(排序),groupingBy(分组),distinct(去重),map(将对象集合转换成字符串对象),forEach(循环)
2,Stream的中间操作
方法
|
描述
|
filter(Predicate P)
|
接受Lambda,从流中排除某些元素
|
distinct()
|
筛选,通过流所产生的元素的hashCode()和equals()去除重复元素
|
limit(Long maxSize)
|
截断流,使其元素不超过给定数量maxSize
|
skip(Long n)
|
跳过n个元素,返回值扔掉前n个元素。若返回值中没有n个元素,则返回一个空流。
|
方法
|
描述
|
map(Function f)
|
接受一个函数作为参数,该函数会被应用到每一个元素上,并将其映射到一个新的元素
|
mapToDouble(ToDoubleFunction f)
|
接受一个函数作为参数,该函数会被应用到每一个元素上,产生一个新的DoubleStream
|
mapToInt(ToIntFuntion f)
|
接受一个函数作为参数,该函数会被应用到每一个元素上,产生一个新的IntStream
|
mapToLong(ToLongFunction f)
|
接受一个函数作为参数,该函数会被应用到每一个元素上,产生一个新的LongStream
|
flatMap(Function f)
|
接受一个函数作为参数,将流种的每一个值都换成另外一个流,把所以的流换成一个流
|
标签:函数,Stream,一个,元素,特性,参数,接受,Java8
来源: https://www.cnblogs.com/xuqing123/p/15850448.html