Java中的stream流[75]

Java中的stream流[75]




一、什么是stream流?

Stream是元素的集合,类似Iterator(迭代器),只需给出需要对其执行操作的元素,比如过滤,大写等,Stream可以直接对元素操作.
Stream接口不是存储数据结构,数据源可以是一个集合,为了使用函数式编程创造;
Stream流只能执行一次操作,再次使用会报错

两种类型操作方法:
1.中间操作(生成一个Stream);
2.结束操作(执行或返回计算操作);

二、代码演示

private static void Stream(){
    //Stream(流)接口,只能使用一次,调用完下面再次使用报错
    Stream<String> stream=Stream.of("good","good","study","day","day","up");
    //foreach方法;
    stream.forEach(System.out::println);
    //filter:设置一个参数,参数可以调用一些判断方法,返回给调用者
    stream.filter((s)->s.length()>3).forEach(System.out::println);
    //自动去重
    stream.distinct().forEach(System.out::println);
    //map:Function函数,设置一个参数,参数调用方法并返回stream流
    stream.map((s)->s.toUpperCase()).forEach(System.out::println);
    //flatMap:可将两个集合中的流合并成一个流进行操作
    Stream<List<Integer>> ss=Stream.of(Arrays.asList(1,2,3),Arrays.asList(4,5,6,6));
    ss.flatMap((i)->i.stream()).distinct().forEach(System.out::println);
    //reduce:需要传入两个参数,对这两个参数进行操作,返回一个optional值
    Optional<String> op=stream.reduce((s1,s2)->s1.length()>=s2.length()?s1:s2);
    System.out.println(op.get());
    //collect:参数使用Collectors函数接口的方法,功能强大;
    List<String> list=stream.collect(Collectors.toList());
    list.forEach(System.out::println);
}

三.小结

本章概述并演示了Java中的stream流,stream流是元素的集合,可以对各种元素进行各种操作,方便快捷;
有哪里不足或者有更好的建议,欢迎留言吐槽,有哪里不懂的小伙伴,可以私信我,我会一一答复,感谢认可,感谢支持!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道而起

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值