A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

获取流对象
    方式一:
        1. 单列集合对象可以直接调用一个stream方法,获取一个Stream流对象
        2. 双列集合可以先获取键或者值或者键值对的集合,然后再获取Stream流对象
    方式二:
        通过Stream中的静态方法,可以将多个元素或者一个数组整合成一个Stream流对象

常用功能:
    1. 【void】forEach(Consumer c)  遍历功能        终结方法
    2. Stream<T> filter(Predicate p) 过滤功能       延迟方法
    3. Stream<R> map(Function<T,R> mapper)  转换功能
    4. 【long】 count() 统计元素个数
    5. Stream<T> limit(long n)  截取前n个
    6. Stream<T> skip(long n)  跳过前n个
    7. Stream<T> sorted() 按照自然顺序排列
    8. static <T> Stream<T> concat(Stream<T> a, Stream<T> b)
    9. Object[] toArray() 将流中的元素整合成一个数组
    10. R collect(Collector<? super T,A,R> collector) 将流中的元素整合成一个指定类型的集合
        示范:
            Set<String> set = stream.collect(Collectors.toSet())
            List<String> list = stream.collect(Collectors.toList())

    注意事项:
        返回一个新的流对象只能使用一次
        如果调用的是终结方法(forEach,count)则不能再次使用流

方法的引用:
    本质:已经有现成的方法可以让我们去重写抽象方法

    方法引用传递的第一种格式:
        非静态方法的引用:对象名 :: 方法名
    方法引用传递的第二种格式:
        静态方法的引用: 类名 :: 方法名
    方法引用传递的第三种格式:
        本类中方法的引用:this :: 方法名
    方法引用传递的第四种格式:
        父类中方法的引用:super :: 方法名
   
    构造方法引用的传递:
        类名 :: new
    数组构造的引用传递:
        数据类型[] :: new

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马