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方便書寫,提示就可以寫出來,但是不方便計數用

 

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