java中HashMap遍历的四种方式

    Map map = new HashMap();

      map.put("1", "value1");

      map.put("2", "value2");

      map.put("3", "value3");

      //第一种:普遍使用,二次取值

      System.out.println("通过Map.keySet遍历key和value:");

      for (String key : map.keySet()) {

      System.out.println("key= "+ key + " and value= " + map.get(key));

      }


    对于keySet其实是遍历了2次,一次是转为iterator,一次就从hashmap中取出key所对于的value。而entryset只是遍历了第一次,他把key和value都放到了entry中,所以就快了。

      //第二种

      System.out.println("通过Map.entrySet使用iterator遍历key和value:");

      Iterator> it = map.entrySet().iterator();

      while (it.hasNext()) {

      Map.Entry entry = it.next();

      System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());

      }


      //第三种:推荐,尤其是容量大时

      System.out.println("通过Map.entrySet遍历key和value");

      for (Map.Entry entry : map.entrySet()) {

      System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());

      }

      //第四种

      System.out.println("通过Map.values()遍历所有的value,但不能遍历key");

      for (String v : map.values()) {

      System.out.println("value= " + v);

      }

你可能感兴趣的:(java中HashMap遍历的四种方式)