HashMap 是 Java 中常用的一种集合类型,它是基于哈希表的实现,可以存储键值对,其中键值对是无序的。在使用 HashMap 的过程中,我们需要对 HashMap 进行遍历,从而获取其中的数据。
一、使用 foreach 循环遍历 HashMap
Java 5 提供了 foreach 循环,可以简化代码并且避免一些错误。foreach 循环可以遍历数组、集合等容器。在遍历 HashMap 时,我们可以使用 foreach 循环对其中的键值对进行遍历。
HashMaphashMap = 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 对象,其中包含了键值对的信息。
HashMaphashMap = 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 进行遍历操作。
HashMaphashMap = 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 的遍历。