hashmap遍历方法有哪几种

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

使用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();
    // 进行其他操作
}

使用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();
    // 进行其他操作
}

使用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异常。

阅读剩余
THE END