1. 中间操作的函数的返回值都是Stream的类型,以方便进行链式编程
2.筛选与切片
- filter(Predicate<? extends T> predicate) : 接收断言型接口,从流中排除不符合要求的元素,简称过滤
- limit(long maxSize) : 截断流,使元素不超过指定数量
- skip(long n) : 跳过指定个数的元素,返回一个扔掉了指定个数的Stream的对象
- distinct() : 筛选去重,通过流所生成的元素的 hashCode() 和 equals() 进行比较,去除重复的元素
3.映射
- map(Function<? super T , ? extends R> mapper) : 接收函数型接口,将元素转换成其他形式或提取信息.接收一个函数作为参数,该函数会被应用到每一个元素上,并映射成一个新的元素
- flatMap(Function<? super T , ? extends Stream<? extends R> > mapper) : 接收一个函数作为参数,将流中的每一个值都换成另一个流,然后把所有流连成一个流
- map与flatMap函数类似于Collections中的add()与addAll()函数
4.排序
- sorted() : 元素对象的类型实现自然排序接口Comparable
- sorted(Comparator c) : 定制排序Comparator