Java Map接口常用操作有哪些

Map接口用于存储键值对,提供put、get、remove等方法进行增删改查;通过keySet、values、entrySet实现遍历操作。

Java中的Map接口是用于存储键值对(key-value)的核心集合类型,提供了丰富的操作方法来管理数据。下面介绍Map接口中最常用的操作及其使用方式。

添加和更新元素

通过put方法将键值对放入Map中。如果键已存在,则新值会覆盖旧值。

  • put(K key, V value):添加或更新一个键值对
  • putIfAbsent(K key, V value):仅当键不存在时才插入,避免覆盖已有值
例如:
Map map = new HashMap<>();
map.put("Alice", 25);
map.put("Bob", 30); // 添加新元素
map.put("Alice", 26); // 更新已有键的值
map.putIfAbsent("Alice", 27); // 不会生效,因为键已存在

获取和判断元素

根据键查询对应的值,或检查Map中是否包含某个键或值。

  • get(Object key):返回指定键映射的值,键不存在则返回null
  • containsKey(Object key):判断是否包含指定键
  • containsValue(Object value):判断是否包含指定值(效率较低,不推荐频繁使用)
  • getOrDefault(Object key, V defaultValue):键不存在时返回默认值
例如:
int age = map.get("Alice"); // 获取值
boolean hasKey = map.containsKey("Bob"); // 检查键是否存在
int score = map.getOrDefault("Charlie", 0); // 不存在则返回0

删除和清空元素

从Map中移除指定键值对或清空所有内容。

  • remove(Object key):删除指定键的映射,并返回被删除的值
  • remove(Object key, Object value):仅当键对应值匹配时才删除
  • clear():清空整个Map
例如:
Integer removedAge = map.remove("Bob"); // 删除并获取原值
map.remove("Alice", 26); // 只有值匹配才会删除
map.clear(); // 移除所有元素

遍历Map

Map不能直接迭代,但可以通过多种方式访问所有元素。

  • 遍历keySet():获取所有键的集合
  • 遍历values():获取所有值的集合
  • 遍历entrySet():获取键值对集合,最常用
例如:
// 遍历键值对
for (Map.Entry entry : map.entrySet()) {
    System.out.println(entry.getKey() + ": " + entry.getValue());
}

// 仅遍历键
for (String key : map.keySet()) {
    System.out.println(key);
}
基本上就这些。掌握这些常用操作,就能高效使用Map处理大多数场景的数据映射需求。