【java学习笔记14】遍历Map集合的n种方法

package collection;


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

/*
Map集合的遍历
 */
public class MapTest02 {

    public static void main(String[] args) {

        // 第一种方式:获取所有的key,遍历所有的key获取对应的value
        Map<Integer,String> map = new HashMap<Integer, String>();
        map.put(1,"aaaa");
        map.put(2,"bbbb");
        map.put(3,"cccc");
        map.put(4,"dddd");


        // 迭代器的方式
        Set<Integer> keys = map.keySet();
        Iterator<Integer> iterator = keys.iterator();
        while (iterator.hasNext()){
            Integer key = iterator.next();
            String value = map.get(key);
            System.out.println(key + "=" + value);
        }

        System.out.println("=============================");

        // foreach方式
        for (Integer key : keys){
            System.out.println(key + "=" + map.get(key));
        }

        // 第二种方式:Set<Map.Entry<K,V>> entrySet()
        // 把Map集合全部转换成Set集合,Set集合中元素的类型是Map.Entry

        System.out.println("=============================");

        Set<Map.Entry<Integer,String>> set = map.entrySet();
        Iterator<Map.Entry<Integer,String>> iterator1 = set.iterator();

        while (iterator1.hasNext()){
            Map.Entry<Integer, String> node = iterator1.next();
            Integer key = node.getKey();
            String value = node.getValue();
            System.out.println(key + "=" + value);
        }
        

    }
}

以上是两种思路,三种方法

1是迭代器,通过获取key,再获取value

2是增强型for循环,通过获取key,获取对应的value

3是将Map集合转换成Set集合

 

posted @ 2021-01-02 21:47  愚人李愚  阅读(97)  评论(0编辑  收藏  举报