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。

  • 相关阅读:
    在Jenkins中使用sonar进行静态代码检查
    privoxy自动请求转发到多个网络
    实现自动SSH连接
    云平台的微服务架构实践
    JHipster技术栈理解
    部署模式
    部署模式
    部署模式
    JHipster生成单体架构的应用示例
    JHipster生成微服务架构的应用栈(二)- 认证微服务示例
  • 原文地址:https://www.cnblogs.com/xm970829/p/13503719.html
Copyright © 2011-2022 走看看