当前位置:   article > 正文

遍历HashMap集合的四种基本方式(包括遍历、迭代器、get、Map接口)_说出一种遍历hash集合

说出一种遍历hash集合

遍历HashMap集合的四种基本方式(包括遍历、迭代器、get、Map接口)

​  遍历HashMap集合一般有四种方式,今天跟大家介绍一下:
1.分别遍历key和values,这里调用了import java.util.Set;方法如下:

      //分别遍历key和values
    private static void method( HashMap<String,Integer> hm){
        //获取所有的key
        Set<String> keys = hm.keySet();
        for(String key: keys){
            System.out.println(key);
        }
        //获取所有的value
        Collection<Integer> values = hm.values();
        for(int value:values){
            System.out.println(value);
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

2.使用Iterator迭代器:

    //使用Iterator迭代器迭代
    private static void method_1(HashMap<String,Integer> hm){
       Set<Map.Entry<String,Integer>> entries =  hm.entrySet();
        for(Iterator<Map.Entry<String,Integer>> it = entries.iterator();it.hasNext();){
            Map.Entry<String,Integer> entry = it.next();
            System.out.println(entry.getKey()+"---"+entry.getValue());
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

3.通过get方式遍历,不建议使用因为效率较低:

    //通过get方式,不建议使用,效率低
      private static void method_2(HashMap<String,Integer> hm){
          Set<String> keys = hm.keySet();
          for(String key:keys){
              Integer value = hm.get(key);
              System.out.println(key+"---"+value);
          }
      }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

4.Jdk8之后使用Map接口中的默认方法:

    // jdk8之后使用Map接口中的默认方法
     private static void method_3(HashMap<String,Integer> hm){
         hm.forEach((key,value)->{
             System.out.println(key+"---"+value);
         });
     }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

   遍历的运行结果如图:
在这里插入图片描述
   最后需要注意的是:就是HashMap容量的初始化,因为最好的初始化可以尽量避免数组扩容resize,
   最好的initialCapacity = (需要存储的元素个数/加载因子)+1
   大家也可以关注我的公众号,会同步更新Java语言以及数据结构算法、软件安装更新的电脑知识:琢磨先生DataBase
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/564660
推荐阅读
相关标签
  

闽ICP备14008679号