首页 > 其他分享 >441stream流中的常用方法_forEach和442Stream流中的常用方法_filter

441stream流中的常用方法_forEach和442Stream流中的常用方法_filter

时间:2022-09-22 23:00:41浏览次数:59  
标签:常用 442Stream stream Stream 流中 filter forEach 方法

常用方法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

相关文章

  • String 和 StringBuffer 的区别(及StringBuffer的常用方法)
    String和StringBuffer的区别(及StringBuffer的常用方法)对比StringStringBuffer对象是否可变String创建的对象是不可变的,一旦创建不可改变StringBuffer创建......
  • Linux常用指令
    1.简单系统命令#查看ip地址ipaipaddr#查看系统时间date#注销logout#关机shutdownnow#重启reboot#清屏clear2.文......
  • 算法题中常用的C++函数
    一、向vector容器中增添元素1、在末尾增添一个元素push_back()2、在任意地方插入一个或多个元素insert()#include<iostream>#include<vector>//注意这......
  • 常用正则表达式大全
    一、校验数字的表达式 1.数字:^[0-9]*$2.n位的数字:^\d{n}$3.至少n位的数字:^\d{n,}$4.m-n位的数字:^\d{m,n}$5.零和非零开头的数字:^(0|[1-9][0-9]*)$6.非零开头......
  • 常用类
    内部类在一个类的内部再定义一个类publicclassBody{//也会生成一个独立的字节码编译class文件:Body$Head.classpublicclassHead{publicvoidsh......
  • python系列——常用系统模块
    常用系统模块os:与操作系统交互os.name/os.sep/os.linesep.:系统名称/系统路径分隔符/系统换行符os.mkdir()/os.makedirs():建立目录/建立多级目录os.getenv("PAT......
  • JAVA常用工具类
    java开发常用工具类java正则表达式的匹配包括:邮箱,手机,姓名,昵称,身份证号,银行卡号等;生成6位随机数;对url中字符串进行编码和解码;获取客户端ip地址;获取系统当前时间;生......
  • java中String的常用方法
    1、length()字符串的长度例:charchars[]={'a','b'.'c'};Strings=newString(chars);intlen=s.length();2、charAt()截取一个字符例:charch......
  • 数组常用方法总结
    判断数组中是否存在某个值vararrData=['html','css','javascript'];varvalue='css';console.log(arrData.includes(value));console.log(arrData.some(ite......
  • MySQL常用命令
    MySQL基础1.创建数据库createdatabaseshop;#使用库useshop;2.创建表createtableuser(id intprimarykey,namechar(10))ENGINE=InnoDBDEFAULTCHARSET=u......