Stream流中的常用方法_Foreach-Stream流中的常用方法_filter
Stream流中的常用方法_Foreach
流模型的操作很丰富,这里介绍一些常用的API。这些方法可以被分成两种︰
·延迟方法∶返回值类型仍然是Stream,接口自身类型的方法,因此支持链式调用。(除了终结方法外,其余方法均为延迟方法。)
l
。终结方法∶返回值类型不再是Stream接口自身类型的方法,因此不再支持类似stringBuilder那样的链式调用。本小节中,终结方法包括`count和 forEach方法。
逐一处理:forEach
虽然方法名字叫forEach,但是与for循环中的"for-each"昵称不同。
package A_Lian_two.D04; import java.util.stream.Stream; public class Demo02Stream_forEach { public static void main(String[] args) { //获取一个Stream流 Stream<String> stream = Stream.of("张三", "李四", "王五", "赵六", "田七"); stream.forEach(name-> System.out.println(name)); } }
Stream流中的常用方法_filter
可以通过filter方法将一个流转换成另一个子集流。方法签名∶
stream<T> filter(Predicate<? super T> predicate);
该接口接收一个Predicate函数式接口参数(可以是一个Lambda或方法引用)作为筛选条件。
复习Predicate接口
此前我们已经学习过java.util.stream.Predicate函数式接口,其中唯一的抽象方法为:
1 | Boolean test(T t); |
该方法将会产生一个Boolean值结果,代表指定的条件是否满足.如果结果为true,那么Stream流的filter方法将会留用元素;
如果结果为false,那么filter方法将会舍弃元素.
package A_Lian_two.D04; import java.util.stream.Stream; public class Demo03Stream_filter { public static void main(String[] args) { //创建一个Stream流 Stream<String> stream = Stream.of("张三丰", "张催三", "萨克的", "奥斯丁", "鞋袜"); //对Stream流中的元素进行过滤,只要姓张的人 Stream<String> stream1 = stream.filter((String name) -> { return name.startsWith("张"); }); //遍历stream2流 stream1.forEach(name-> System.out.println(name)); } }
分类:
java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)