您的位置:

Java HashMap 遍历

HashMap 是 Java 中常用的一种集合类型,它是基于哈希表的实现,可以存储键值对,其中键值对是无序的。在使用 HashMap 的过程中,我们需要对 HashMap 进行遍历,从而获取其中的数据。

一、使用 foreach 循环遍历 HashMap

Java 5 提供了 foreach 循环,可以简化代码并且避免一些错误。foreach 循环可以遍历数组、集合等容器。在遍历 HashMap 时,我们可以使用 foreach 循环对其中的键值对进行遍历。

HashMap hashMap = new HashMap<>();
// 放入键值对
hashMap.put("key1","value1");
hashMap.put("key2","value2");
hashMap.put("key3","value3");

// 使用 foreach 循环遍历 HashMap
for (String key : hashMap.keySet()) {
    String value = hashMap.get(key);
    System.out.println(key + " : " + value);
}

  

上面的代码使用 foreach 循环遍历 HashMap,首先通过 keySet 方法获取 HashMap 中所有的 key 值,之后通过 get 方法取出对应的 value 值,最后将 key 和 value 打印出来。

二、使用 Iterator 遍历 HashMap

HashMap 是一种非常常用的数据结构,我们在对 HashMap 进行遍历时,还可以使用 Iterator 进行遍历操作,通过 Iterator 可以获取到 Map.Entry 对象,其中包含了键值对的信息。

HashMap hashMap = new HashMap<>();
// 放入键值对
hashMap.put("key1","value1");
hashMap.put("key2","value2");
hashMap.put("key3","value3");

// 使用 Iterator 遍历 HashMap
Iterator
   
    > iterator = hashMap.entrySet().iterator();
while (iterator.hasNext()) {
    Map.Entry
      entry = iterator.next();
    String key = entry.getKey();
    String value = entry.getValue();
    System.out.println(key + " : " + value);
}

     
    
   
  

上面的代码中,我们通过 entrySet 获取了 HashMap 中所有键值对的信息,通过 iterator 对其进行遍历,每次迭代都可以获取到一个键值对的信息,包括 key 和 value,从而实现了对 HashMap 的遍历。

三、使用 Lambda 表达式遍历 HashMap

Java 8 引入了 Lambda 表达式,可以使用 Lambda 表达式对 HashMap 进行遍历操作。

HashMap hashMap = new HashMap<>();
// 放入键值对
hashMap.put("key1","value1");
hashMap.put("key2","value2");
hashMap.put("key3","value3");

// 使用 Lambda 表达式遍历 HashMap
hashMap.forEach((key, value) -> System.out.println(key + " : " + value));

  

上面的代码使用 forEach 方法和 Lambda 表达式,对 HashMap 进行遍历操作,其中参数 key 和 value 分别表示键值对中的 key 和 value。对于每一个 key 和 value,我们都可以通过 Lambda 表达式对其进行处理,从而实现对 HashMap 的遍历。