循环foreach造列表对数据操作繁琐,用list的stream,stream!

比如list中有好多名字,现需要过滤。取开头为张,长度为3条件。

传统的写法:

public  void a(){
        List<String> l= new ArrayList<>();
        List<String> l1  = new ArrayList<>();
        List<String> l2  = new ArrayList<>();
        l.add("张一一");
        l.add("李二二");
        //先找张开头的
        for(String s : l){
            if (s.startsWith("张")){
               //开头为张,将其存进新列表 l1.
                l1.add(s);
            }
        }
        //找长度为三的
        for (String ss: l1){
            if (ss.length()==3){
                l2.add(ss);
            }
        }
        for ( String sss: l2){
            System.out.println(sss);
        }

项目经理!!!

List<String> l= new ArrayList<>();
        l.add("张一一");
        l.add("李二二");

        //用stream流,它的实现是常用函数接口实现如:predict,function。
        l.stream().filter(s->s.startsWith("张"))  //这里加{}大括号会报错,是因为返回值类型。stream返回bolean类型。这里不需要返回
        //上面错了,是因为大括号中没有return ,加个return就好了。
                    .filter(s->s.length()==3)
                   .forEach(s-> System.out.println(s));

数组 列表 map 都可以转换为流,Stream .of() 里面传参数。
方法有filter,foreach,skip(跳过前几个),map(转换类型)limit(取前几个),concat(连接两个流)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值