Stream流及常用方法

Stream流及常用方法

Stream流

java.util.stream.Stream 是Java 8新加入的最常用的流接口。(这并不是一个函数式接口。)
特点:
1.Stream流是一个集合元素的函数模型,其本身并不存储任何元素或地址值
2.Stream流是JDK1.8之后出现的,具有更优雅的书写方式。
3.中间操作都会返回流对象本身,这样多个操作可以串联成一个管道。可以对操作进行优化,比如延迟执行和短路.
4.以前都是使用Iterator进行外部迭代,Stream流提供了内部迭代的方式,流可以直接调用遍历对象。

获取一个流有以下几种常用的方式:
1.所有的 Collection 集合都可以通过 stream 默认方法获取流;
2.Stream 接口的静态方法 of 可以获取数组对应的流。

eg:

public static void main(String[] args) {
   
        List<String> strings = List.of("张三丰","周芷若","赵敏","张无忌","张强");
        strings.stream()//Collection类中的方法,返回一个Stream对象
                //Stream<T> filter(Predicate<? super T> predicate)
                //主要用于写过滤器
                .filter( name ->name.startsWith("张"))
                .filter( name ->name.length() ==3)
                //void forEach(Consumer<? super T> action);
                //主要用于对其中的每一个元素遍历
                .forEach( name -> System.out.println(name));

    }

常用方法

流模型的常用方法可以被分成两种:
延迟方法 :返回值类型仍然是 Stream 接口自身类型的方法,因此支持链式调用。(除了终结方法外,其余方法均为延迟方法。)
终结方法 :返回值类型不再是 Stream 接口自身类型的方法,因此不再支持类似 StringBuilder 那样的链式调用。本文终结方法主要介绍 count 和 forEach 方法。

1.void forEach(Consumer<? super T> action);
该方法接收一个 Consumer 接口函数,会将每一个流元素交给该函数进行处理。用于遍历元素。(顺带一提,Lambda表达式是真方便)。

public static void main(String[]</
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值