⼿写⼀下HashMap的⼏种遍历⽅式 - Entry 遍历 - keySet 遍历 - foreach遍历 - keySet foreach遍历
时间: 2023-10-05 21:14:49 浏览: 128
HashMap的几种遍历方式如下:
1. Entry遍历:使用entrySet()方法可以同时遍历Map里面的Key和Value。可以通过迭代器或者foreach循环来实现。例如:
```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();
// 处理key和value
}
```
2. keySet遍历:使用keySet()方法可以遍历Map里面的Key。可以通过迭代器或者foreach循环来实现。例如:
```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);
// 处理key和value
}
```
3. foreach遍历:在JDK8及以上版本中,可以直接使用foreach循环来遍历HashMap的键值对。例如:
```java
HashMap<String, Integer> map = new HashMap<>();
// 添加键值对
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
// 使用foreach遍历
map.forEach((key, value) -> {
// 处理key和value
});
```
4. keySet foreach遍历:在JDK8及以上版本中,可以使用keySet()方法获取键的集合,然后使用foreach循环遍历。例如:
```java
HashMap<String, Integer> map = new HashMap<>();
// 添加键值对
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
// 使用keySet foreach遍历
for (String key : map.keySet()) {
Integer value = map.get(key);
// 处理key和value
}
```
以上是HashMap的几种常见遍历方式。根据具体的需求,可以选择适合的遍历方式来操作HashMap的键值对。
#### 引用[.reference_title]
- *1* *3* [Java - 关于HashMap通过keySet遍历kv的二次调用问题](https://blog.csdn.net/Zong_0915/article/details/120905738)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [HashMap的七种遍历方式](https://blog.csdn.net/maojian_ohhey/article/details/115431835)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文