zoukankan      html  css  js  c++  java
  • map遍历性能记录

    map遍历可以通过keySet或者entrySet方式。

    性能上:entrySet略胜一筹,原因是keySet获取到key后再根据key去获取value,在查一遍,所以慢一些。

    keySet:

    //先获取map集合的所有键的Set集合
    Set<String> keySet = map.keySet();
    //有了Set集合,就可以获取其迭代器
    Iterator<String> it = keySet.iterator();
    while (it.hasNext()) {
        String key = it.next();
    //有了键可以通过map集合的get方法获取其对应的值。
    String value = map.get(key);
    }

    entrySet:

    //通过entrySet()方法将map集合中的映射关系取出(这个关系就是Map.Entry类型)
    Set<Map.Entry<String, String>> entrySet = map.entrySet();
    //将关系集合entrySet进行迭代,存放到迭代器中
    Iterator<Map.Entry<String, String>> it2 = entrySet.iterator();
    while (it2.hasNext()) {
        //获取Map.Entry关系对象me
        Map.Entry<String, String> me = it2.next();
        //通过关系对象获取key
        String key2 = me.getKey();
        //通过关系对象获取value
        String value2 = me.getValue();
    }

     jdk1.8推荐forEach

    myMap.forEach((k, v)->{
                System.out.println("key:"+ k +",value:" + v);
            });
  • 相关阅读:
    数学
    ACM之路
    归并排序(分治法,nlogn,较为稳定)
    字典树基础模板
    c语言对象(函数,类,变量)的声明与定义
    typedef的高级用法---------理解函数声明
    4503: 两个串
    HDU 5972 Regular Number
    HDU 5215 Cycle
    Hihocoder #1513 : 小Hi的烦恼
  • 原文地址:https://www.cnblogs.com/xingrui/p/10668139.html
Copyright © 2011-2022 走看看