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
    本文版权归作者和博客园共有,转载必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    AutoMapper,对象映射的简单使用
    Angular 4.0从入门到实战
    IE报错:The given path's format is not supported
    原生js中slice()方法和splice()区别
    使用jquery插件ajaxfileupload一次上传多个文件,示例
    C#路径中获取文件全路径、目录、扩展名、文件名称
    NET二进制图片存储与读取的常见方法,iTextSharp添加图片生成PDF文件
    Type.GetType()反射另外项目中的类时返回null的解决方法
    C#中对于Enum类型的遍历
    读取word到二进制,再转成word
  • 原文地址:https://www.cnblogs.com/binbingg/p/13672613.html
Copyright © 2011-2022 走看看