Delete elements from Map in Java

# 遍历过程中删除元素
Map<Integer, String> map = new HashMap<>();
Iterator<Map.Entry<Integer, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
    
    
    Map.Entry<Integer, String> entry = iterator.next();
    if (entry.getKey() == 1) {
    
    
        iterator.remove();
    }
}
# 删除特定一个元素
Map<Integer, String> map = new HashMap<>();
for (Map.Entry<Integer, String> entry : map.entrySet()) {
    
    
    if (entry.getKey() == 1) {
    
    
        map.remove(entry.getKey());
    }
}

map.forEach((key, value) -> {
    
    
    if (key == 1) {
    
    
        map.remove(key);
    }
});
# 使用values, keySet, entrySet接入removeIf更容易移除Map中的元素
Map<Integer, String> map = new HashMap<>();
map.entrySet().removeIf(entry -> entry.getKey() != 1);
map.keySet().removeIf(key -> key != 1);
map.values().removeIf(value -> value.contains("1"));

Reference: https://zhuanlan.zhihu.com/p/129881103

Guess you like

Origin blog.csdn.net/weixin_37646636/article/details/132706279