天天看點

map疊代的四種方式

package com.hungteshun;

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

/**
 * @author hungteshun
 * @description:
 * @date 2018/11/12 17:53
 */
public class TestMap {
    public static void main(String[] args) {
        Map<Integer, String> map = new HashMap<>();
        map.put(1, "張三");
        map.put(2, "李四");
        map.put(3, "王五");
        map.put(4, "王五");
        map.put(4, "王五");
        System.out.println("map的大小:" + map.size());

        System.out.println();
        System.out.println("方式一:通過Map.keySet周遊key和value:");
        for (Integer key : map.keySet()) {
            String s = map.get(key);
            System.out.println(key + ": " + s);
        }
        System.out.println();

        System.out.println("方式二:通過Map.entrySet周遊key和value:");
        System.out.println("推薦,尤其是容量大時");
        for (Map.Entry<Integer, String> entry : map.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
        System.out.println();

        System.out.println("方式三:通過Map.entrySet使用iterator周遊key和value:");
        Iterator<Map.Entry<Integer, String>> iterator = map.entrySet().iterator();
        while (iterator.hasNext()) {
            Map.Entry<Integer, String> entry = iterator.next();
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
        System.out.println();

        System.out.println("方式四:通過Map.values()周遊所有的value,但不能周遊key");
        for (String value : map.values()) {
            System.out.println(value);
        }
    }
}
           

運作結果:

map的大小:4

方式一:通過Map.keySet周遊key和value:
1: 張三
2: 李四
3: 王五
4: 王五

方式二:通過Map.entrySet周遊key和value:
推薦,尤其是容量大時
1: 張三
2: 李四
3: 王五
4: 王五

方式三:通過Map.entrySet使用iterator周遊key和value:
1: 張三
2: 李四
3: 王五
4: 王五

方式四:通過Map.values()周遊所有的value,但不能周遊key
張三
李四
王五
王五