常用方法forEach
流模型的操作很丰富,这里介绍一些常用的APl。这些方法可以被分成两种:
延迟方法︰返回值类型仍然是Stream接口自身类型的方法,因此支持链式调用。(除了终结方法外,其余方法均为延迟方法。)
终结方法︰返回值类型不再是Stream接口自身类型的方法,因此不再支持类似stringBuilder那样的链式调用。本小节中,终结方法包括`|count和 forEach方法。
备注:本小节之外的更多方法,请自行参考API文档。
逐一处理一:forEach
虽然方法名字叫forEach,但是于for循环中的”for-each“昵称不同
/* stream流中的常用方法_forEach void forEach(Consumer< ? super T> action ) ; 该方法接收一个consumer接口函数,会将每一个流元素交给该函数进行处理。l 简单记: forEach方法,用来遍历流中的数据 是一个终结方法,遍历之后就不能继续调用Stream流中的其他方法 */ public static void main(String[] args) { //获取一个Stream流 Stream<String> stream = Stream.of("杰瑞", "汤姆", "泰非", "派克", "橘猫"); //使用Stream流中的方法forEach对Stream流中的数据进行遍历 stream.forEach(name->System.out.println(name)); } }
常用方法Filter
可以通过filter方法将一个流转换成另一个子集流。方法签名
stream<T> filter(Predicate<? super T> predicate);
当前我们已经学习过java.util.stream.Predicate函数式接口,其中唯一的抽象方法;
Boolean test(T t);
该方法将会产生一个boolean值结果,代表指定的条件是否满足。如果结果为true,那么Stream流的filter方法将会留用元素;如果结果为false,那么filter方法将会舍弃元素。
public static void main(String[] args) { //创建一个stream Stream<String> stream = Stream.of("杰瑞", "汤姆", "杰瑞大表舅", "杰瑞舅老爷","泰非"); //对Stream流中的元素进行过滤只要姓杰的 Stream<String>stream1=stream.filter((String name)->{return name.startsWith("杰");}); //遍历stream1流 stream1.forEach(name-> System.out.println(name)); } }
标签:常用,442Stream,stream,Stream,流中,filter,forEach,方法 From: https://www.cnblogs.com/agzq/p/16721148.html