zoukankan      html  css  js  c++  java
  • lambda表达式对集合的遍历

    lambda表达式对集合的遍历

    引言:

    从去年年末就一直想好好看一下lambda表达式,可是一直没有静下心来看。
    这次项目里用的对集合操作几乎都是通过lambda表达式方式的。没办法,就只好去学习了。

    正文:
    通过普通的for循环来对集合的遍历是我之前一直在做的事,简单,易理解。
    但是lambda表达式对集合的遍历,可以算的上很优秀了,代码也很美。
    首先,创建一个测试的实体类,如下:

    class Lambda2Entity{    
        private String name;   
        private Integer age;    
        public Lambda2Entity(String name, Integer age) {        
        this.name = name;        
            this.age = age;    
        }   
        public Lambda2Entity() {    }    
        public String getName() {       
            return name;    
        }    
        public void setName(String name) {       
            this.name = name;    
        }    
        public Integer getAge() {        
            return age;   
        }    
        public void setAge(Integer age) {        
            this.age = age;    
        }
    }
    

    再创建三个集合,list、set、map。如下:

    List<Lambda2Entity> list = new ArrayList<>();
    Set<Lambda2Entity> set = new LinkedHashSet<>();
    Map<String,Lambda2Entity> map = new LinkedHashMap<>();
    for (int i = 1; i <= 6; i++) {    
        Lambda2Entity entity = new Lambda2Entity();    
        entity.setAge(i+10);    
        entity.setName("张三"+i+"号");    
        list.add(entity);    
        set.add(entity);    
        map.put(entity.getName(),entity);
    }
    

    对list集合遍历

    System.out.println("用forEach遍历list集合");
    list.forEach( (single) -> {    
        System.out.println(single.getName() + "  " + single.getAge());
    }
    );
    

    对set集合遍历

    System.out.println("用forEach遍历set集合");
    set.forEach((single) -> {    
        System.out.println(single.getName() + "  " + single.getAge());
    }
    );
    

    对map集合遍历

    System.out.println("用forEach遍历map集合");
    map.forEach((key,value) -> {    
        System.out.println(key + " " + value.getAge());
    }
    );
    

    控制台输出结果:

    通过lambda表达式对结合的操作,是通过forEach来完成的,如果是list或set这两种集合,那么lambda表达式中只有一个参数,表示集合中的一个值。但是map可以有两个,因为map本身就是通过键值对存储的,一个key,一个value。

  • 相关阅读:
    电商需求与表结构设计参考
    使用EF操作Oracle数据库小计
    jenkins构建随笔
    NET平台开源项目速览(6)FluentValidation验证组件介绍与入门(转载)
    api接口签名相关文章
    C# 如何防止重放攻击(转载)
    .NET 4中的多线程编程之一:使用Task(转载)
    Flash 无法输入中文的修正方法
    Nape的回调系统 nape.callbacks
    Nape刚体body.align();
  • 原文地址:https://www.cnblogs.com/xm970829/p/13503719.html
Copyright © 2011-2022 走看看