java 8 forEach简单示例

Map:

通常我们这样遍历一个Map

package utils;

import java.util.HashMap;
import java.util.Map;

public class ForEach {
    public static void main(String[] args) {
        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());
        }
    }
}

运行结果:

 

在java8中你可以使用  foreach  + lambda表达式遍历

package utils;

import java.util.HashMap;
import java.util.Map;

public class ForEach {
    public static void main(String[] args) {
        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));

        System.out.println("========我是分隔线========");

        items.forEach((k, v) -> {
            if ("E".equals(k)) {
                k = "我是E";
            }
            System.out.println("key : " + k + "  ||  value : " + v);
        });
    }
}

运行结果:

 

List:

package utils;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class ForEach {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("A");
        list.add("B");
        list.add("C");
        list.add("D");
        list.add("E");

        System.out.println("=========1:一开始是这样的=========");
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }

        System.out.println("=========2:当然稍微高级一点的是这样=========");
        for (int i = 0, lengh = list.size(); i < lengh; i++) {
            System.out.println(list.get(i));
        }

        System.out.println("=========3:还有就是Iterator遍历=========");
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }

        System.out.println("=========4:后来有了增强for循环=========");
        for (String str : list) {
            System.out.println(str);
        }

        System.out.println("=========5:java8以后新增的方式forEach=========");
        list.forEach(str -> {
            if ("C".equals(str)) {
                str = "我是C";
            }
            System.out.println(str);
        });
    }
}

运行结果:

 

使用forEach方便书写,提示就可以写出来,但是不方便计数用

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章