美文网首页
map的几种遍历方式

map的几种遍历方式

作者: 看尽繁华这京城 | 来源:发表于2020-07-20 16:49 被阅读0次

    先实例化一个map

    Map<String,String> map = new HashMap<String,String>(){{
        put("coler","红色");
        put("light","红灯");
    }};
    

    1、如果只需要map中的key或者value,可以使用下面这种方式

    //只查里面的key
    for(String key : map.keySet()){
        System.out.println(key);
    }
    //只查里面的value
    for(String value : map.values()){
        System.out.println(value);
    }
    

    2、如果键、值都需要的话,可以选择for循环和迭代器iterator两种方式

    (1)for循环遍历map,利用Entry直接拿到里面的键值遍历

    for(Map.Entry<String, String> mapEntry : map.entrySet()){
        String mapKey = mapEntry.getKey();
        String mapValue = mapEntry.getValue();
        System.out.println(mapKey+":"+mapValue);
    }
    

    (2)这种是先拿到key,然后从map中取值,由于要频繁的操作map取值,相率自然不高,不推荐这种方式遍历;

    for(String key : map.keySet()){
        String value = map.get(key);
        System.out.println(key+":"+value);
    }
    

    (3)使用迭代器遍历map,与entry的效果一样,就是代码多点,具体的效率没有分析,有兴趣的可以比较一下这两种方式的效率;

    Iterator<Entry<String, String>> iterator = map.entrySet().iterator();
    while(iterator.hasNext()){
        Entry<String, String> entry = iterator.next();
        String key = entry.getKey();
        String value = entry.getValue();
        System.out.println(key+":"+value);
    }
    

    具体使用哪种方式,要看实际的应用场景决定的。

    相关文章

      网友评论

          本文标题:map的几种遍历方式

          本文链接:https://www.haomeiwen.com/subject/izjykktx.html