• Java8 forEach 使用


    Java8 forEach 使用

     

    引言

    在本文中,我们将向您展示如何使用新的 java 8 foreach 语句循环 List 和 Map

    1. forEach and Map

    1. 普通方式遍历 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("Item : " + entry.getKey() + " Count : " + entry.getValue());
        }

    在 java8 中,可以使用 forEach + lambda 表达式循环 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("Item : " + k + " Count : " + v));
        
        items.forEach((k,v)->{
            System.out.println("Item : " + k + " Count : " + v);
            if("E".equals(k)){
                System.out.println("Hello E");
            }
        });

    2. forEach and List

    1. 普通方式遍历 List
    List<String> items = new ArrayList<>();
        items.add("A");
        items.add("B");
        items.add("C");
        items.add("D");
        items.add("E");
    
        for(String item : items){
            System.out.println(item);
        }

    2.
    在 java8 中,可以使用 forEach + lambda 表达式或方法引用循环 List。

        List<String> items = new ArrayList<>();
        items.add("A");
        items.add("B");
        items.add("C");
        items.add("D");
        items.add("E");
    
        //lambda
        //Output : A,B,C,D,E
        items.forEach(item->System.out.println(item));
            
        //Output : C
        items.forEach(item->{
            if("C".equals(item)){
                System.out.println(item);
            }
        });
            
        //method reference
        //Output : A,B,C,D,E
        items.forEach(System.out::println);
        
        //Stream and filter
        //Output : B
        items.stream()
            .filter(s->s.contains("B"))
            .forEach(System.out::println);
  • 相关阅读:
    Javascript 智能输入数字且保留小数点后三位
    dedecms 在模版页面获取当前栏目id
    photoshop打开图片显示的是索引,无法编辑解决
    Mac+Apache+PHP 安装 Xdebug 方法
    dedecms 模版里格式化时间标签
    input中只能写入数字int、float
    dedecmsv5.7 前台模版里输出变量
    Dedecms V5.7 关于session
    JQuery 获取select被选中的value和text
    如何使用Anaconda
  • 原文地址:https://www.cnblogs.com/xiondun/p/12689299.html
Copyright © 2020-2023  润新知