stream流

本文详细介绍了Java Stream流的常用方法,包括终结方法如count和forEach,以及非终结方法如filter、limit、skip和map。通过实例展示了如何利用Stream简化集合数据处理,避免多次循环,并解释了Stream的一次性使用原则和流水线思想。最后,文中还提到了Stream的其他实用方法,如forEach、count、filter、limit、skip和map的应用。
摘要由CSDN通过智能技术生成

Stream常用方法
Stream流模型的操作很丰富,这里介绍一些常用的API。这些方法可以被分成两种:


终结方法:返回值类型不再是 Stream 类型的方法,不再支持链式调用。本小节中,终结方法包括 count 和 forEach 方法。

非终结方法:返回值类型仍然是 Stream 类型的方法,支持链式调用。(除了终结方法外,其余方法均为非终结 方法。)

Stream注意事项(重要)
我们学习了Stream的常用方法,我们知道Stream这些常用方法可以分成两类,终结方法,函数拼接方法

Stream的3个注意事项:

Stream只能操作一次

Stream方法返回的是新的流

Stream不调用终结方法,中间的操作不会执行

集合处理数据的弊端
当我们需要对集合中的元素进行操作的时候,除了必需的添加、删除、获取外,最典型的就是集合遍历。我们来体验 集合操作数据的弊端,需求如下:

一个ArrayList集合中存储有以下数据:

张无忌,周芷若,赵敏,张强,张三丰

需求:

1.拿到所有姓张的

2.拿到名字长度为3个字的

3.打印这些数据

代码如下:

public static void main(String[] args) {
   // 一个ArrayList集合中存储有以下数据:张无忌,周芷若,赵敏,张强,张三丰
   // 需求:1.拿到所有姓张的 2.拿到名字长度为3个字的 3.打印这些数据
   ArrayList<String> list = new ArrayList<>();
   Collections.addAll(list, "张无忌", "周芷若", "赵敏", "张强", "张三丰");
   // 1.拿到所有姓张的
   ArrayList<String> zhangList = new ArrayList<>(); // {"张无忌", "张强", "张三丰"}
   for (String name : list) {
    if (name.startsWith("张")) {
      zhangList.add(name);
    }
}
   //

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值