温馨提示×

hashmap遍历方法有哪几种

小亿
83
2024-01-19 13:50:23
栏目: 编程语言

HashMap的遍历方法有以下几种:

  1. 使用Iterator遍历:通过HashMap的keySet()或entrySet()方法获取键集合或键值对集合,然后使用Iterator迭代器进行遍历。
HashMap<String, Integer> map = new HashMap<>();
// 添加键值对到map

// 遍历键集合
Iterator<String> iterator = map.keySet().iterator();
while (iterator.hasNext()) {
    String key = iterator.next();
    // 根据key获取对应的值
    Integer value = map.get(key);
    // 进行其他操作
}

// 遍历键值对集合
Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
    Map.Entry<String, Integer> entry = iterator.next();
    String key = entry.getKey();
    Integer value = entry.getValue();
    // 进行其他操作
}
  1. 使用foreach遍历键集合或键值对集合:
HashMap<String, Integer> map = new HashMap<>();
// 添加键值对到map

// 遍历键集合
for (String key : map.keySet()) {
    // 根据key获取对应的值
    Integer value = map.get(key);
    // 进行其他操作
}

// 遍历键值对集合
for (Map.Entry<String, Integer> entry : map.entrySet()) {
    String key = entry.getKey();
    Integer value = entry.getValue();
    // 进行其他操作
}
  1. 使用Java 8的Stream API遍历:
HashMap<String, Integer> map = new HashMap<>();
// 添加键值对到map

// 遍历键集合
map.keySet().stream().forEach(key -> {
    // 根据key获取对应的值
    Integer value = map.get(key);
    // 进行其他操作
});

// 遍历键值对集合
map.entrySet().stream().forEach(entry -> {
    String key = entry.getKey();
    Integer value = entry.getValue();
    // 进行其他操作
});

注意:在遍历过程中,使用Iterator或foreach进行删除操作时需要使用Iterator的remove()方法,否则会抛出ConcurrentModificationException异常。

0