17.Stream流

Stream流

// Stream流完成过滤操作
// 生成流、过滤姓张、过滤长度为3、逐一打印
list.stream().filter(s -> s.startWith("张")).filter(s -> s.length()==3).forEach(System.out::println);

Stream流生成:

生成流 -> 中间操作 -> 终结操作

  • 生成流:通过数据源生成流(list.stream())

    Collection体系集合使用默认方法stream()生成流

    Map体系集合间接生成流

    数组通过Stream接口的静态方法 of 生成流

  • 中间操作:一个流后面跟零个或多个中间操作(filter())

    list.stream().filter(s -> s.startWith("张"));

    limit(n):输出集合的前n个元素

    skip(n):跳过集合的前n个元素,把剩下的元素输出

    concat(Stream a, Stream b):合并两个流

    distinct():返回该流中的不同元素

    sorted():对其中元素进行排序(有无参、带参两种形式的排序)

    map:写入一个函数对集合中元素进行操作

    mapToInt:可将字符串转换为整型,并通过sum方法进行求和操作

  • 终结操作:一个流只能有一个终结操作,执行后流就用光了(forEach())

    forEach:对流中每个元素执行操作

    count:返回此流中的元素数

posted @ 2021-09-25 16:31  种树达人  阅读(44)  评论(0)    收藏  举报