在java中map如何删除元素
时间: 2023-05-31 10:02:56 浏览: 185
Java中的Map有多种删除元素的方法,以下是其中几种:
1. remove(Object key):根据指定的key删除元素,如果key存在则返回对应的value,否则返回null。
```
Map<String, Integer> map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
map.remove("a"); // 删除key为"a"的元素
```
2. clear():清空整个Map。
```
map.clear(); // 清空整个Map
```
3. remove(Object key, Object value):根据key和value删除元素,只有在key对应的value等于给定的value时才删除。
```
Map<String, Integer> map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
map.remove("a", 2); // 不删除,因为key为"a"的元素的value不等于2
map.remove("b", 2); // 删除key为"b"的元素
```
4. keySet().remove(Object key):通过keySet方法获取Map中所有key组成的集合,再调用remove方法删除指定的key,这种方法需要注意的是,如果key不存在会抛出NoSuchElementException异常。
```
Map<String, Integer> map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
map.keySet().remove("a"); // 删除key为"a"的元素
```
5. entrySet().remove(Object obj):通过entrySet方法获取Map中所有键值对组成的集合,再调用remove方法删除指定的键值对,这种方法需要注意的是,如果键值对不存在会抛出NoSuchElementException异常。
```
Map<String, Integer> map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
map.entrySet().remove(new AbstractMap.SimpleEntry<>("a", 1)); // 删除key为"a",value为1的元素
```
阅读全文