HashMap如何遍历
时间: 2024-02-09 08:02:55 浏览: 25
要遍历HashMap,你可以使用Iterator或者for-each循环来完成。以下是两种遍历HashMap的方法:
1. 使用Iterator遍历HashMap:
```java
HashMap<K, V> map = new HashMap<>();
// 添加键值对到HashMap中
Iterator<Map.Entry<K, V>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<K, V> entry = iterator.next();
K key = entry.getKey();
V value = entry.getValue();
// 处理键值对
}
```
2. 使用for-each循环遍历HashMap:
```java
HashMap<K, V> map = new HashMap<>();
// 添加键值对到HashMap中
for (Map.Entry<K, V> entry : map.entrySet()) {
K key = entry.getKey();
V value = entry.getValue();
// 处理键值对
}
```
相关问题
hashmap 遍历
对于HashMap的遍历,有几种常用的方法可以实现:
1. 使用EntrySet遍历:通过调用HashMap的entrySet()方法获取到HashMap中所有的键值对组成的Set集合,然后通过遍历Set集合中的每个元素,来获取键和值。
```java
HashMap<String, Integer> map = new HashMap<>();
// 添加键值对
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
// 使用entrySet遍历
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println("Key: " + key + ", Value: " + value);
}
```
2. 使用KeySet遍历:通过调用HashMap的keySet()方法获取到HashMap中所有的键组成的Set集合,然后通过遍历Set集合中的每个键,来获取对应的值。
```java
HashMap<String, Integer> map = new HashMap<>();
// 添加键值对
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
// 使用keySet遍历
for (String key : map.keySet()) {
Integer value = map.get(key);
System.out.println("Key: " + key + ", Value: " + value);
}
```
3. 使用Java 8的forEach方法遍历:利用HashMap的forEach方法,可以使用Lambda表达式对每个键值对进行操作。
```java
HashMap<String, Integer> map = new HashMap<>();
// 添加键值对
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
// 使用forEach遍历
map.forEach((key, value) -> System.out.println("Key: " + key + ", Value: " + value));
```
以上是几种常用的HashMap遍历方法,根据具体的需求选择适合的方式。
hashmap 遍历方法
hashmap 遍历方法有三种:
1. 遍历 key,通过 keySet() 方法获取 hashmap 的所有 key,再用 for 循环遍历 key,然后通过 get(key) 方法获取对应的 value。
2. 遍历 value,通过 values() 方法获取 hashmap 的所有 value,再用 for 循环遍历 value。但是这种方式只能获取 value,无法获取对应的 key。
3. 遍历 entrySet,通过 entrySet() 方法获取 hashmap 的所有键值对,再用 for 循环遍历 entrySet,通过 getKey() 和 getValue() 方法获取对应的 key 和 value。这种方式效率最高,因为只需要遍历一次就可以同时获取 key 和 value。