zoukankan      html  css  js  c++  java
  • Java forEach 方式遍历集合(Java 8 新特性)

    JDK 8 新增 forEach 方式遍历集合,这种方式比原来的 for each 循环还要简洁和便利。

    需要注意:如果你计算机安装的是 JDK 8 以前的版本,是不支持 JDK 8 的新特性

    List 集合遍历

    • 原先 for each 遍历 List 集合
    List<String> arrayList = new ArrayList<>();
    arrayList.add("A");
    arrayList.add("B");
    arrayList.add("C");
    arrayList.add("D");
    arrayList.add("E");
    
    for (String item : arrayList){
        System.out.println(item);
    }
    
    • Java 8 新特性 forEach 遍历 List 集合
    List<String> arrayList = new ArrayList<>();
    arrayList.add("A");
    arrayList.add("B");
    arrayList.add("C");
    arrayList.add("D");
    arrayList.add("E")
    
    arrayList.forEach(item->System.out.println(item));
    
    
    • 原先 for each 遍历 Set 集合
    Set<String> setList = new HashSet<>();
    setList.add("A");
    setList.add("B");
    setList.add("C");
    setList.add("D");
    setList.add("E");
    
    for (String item : setList){
        System.out.println(item);
    }
    
    • Java 8 新特性 forEach 遍历 Set 集合
    Set<String> setList = new HashSet<>();
    setList.add("A");
    setList.add("B");
    setList.add("C");
    setList.add("D");
    setList.add("E");
    
    setList.forEach(item->System.out.println(item));
    
    

    Map 集合遍历

    • 原先 for each 遍历 Map 集合
    Map<String, Integer> items = new HashMap<>();
    items.put("A", 10);
    items.put("B", 20);
    items.put("C", 30);
    items.put("D", 40);
    items.put("E", 50);
    items.put("F", 60);
    
    for (Map.Entry<String,Integer> entry : items.entrySet()) {
        System.out.println("key:"+entry.getKey()+";value:"+entry.getValue());
    }
    
    • Java 8 新特性 forEach 遍历 Map 集合
    Map<String, Integer> items = new HashMap<>();
    items.put("A", 10);
    items.put("B", 20);
    items.put("C", 30);
    items.put("D", 40);
    items.put("E", 50);
    items.put("F", 60);
    
    items.forEach((k,v)->System.out.println("key : " + k + "; value : " + v));
    

    总结

    初学 Java 的童鞋,可能对 JDK 8 新特性中 forEach 的用法感觉很奇怪,这种写法似乎曾经从未见过。是的,这种写法是基于 JDK 8 另一个新特性 Java 8 Lambda(拉姆达表达式)而来的。

    JDK 8 新增了很多新特性,这些新特性一方面是对 Java 语言功能的扩展,一方面是对 Java 语言使用的简化。

    作者:Binge
    本文版权归作者和博客园共有,转载必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    activiti 任务节点 处理人设置【转】
    activiti 中的签收与委托 操作
    [转] shiro简单配置
    Angular-ui/bootstarp modal 主控制器与模态框控制器传值
    angular之$on、$emit、$broadcast
    AngularJs动态添加元素和删除元素
    angular.element
    angularJs的工具方法
    AngularJS $watch 监听
    AngularJs 延时器、计时器
  • 原文地址:https://www.cnblogs.com/binbingg/p/13672613.html
Copyright © 2011-2022 走看看