直接调用 map 实例的 clear() 方法即可清空所有键值对,这是标准、简洁且推荐的方式,时间复杂度为 o(1),不改变对象引用,适用于所有现代环境。

直接调用 Map 实例的 clear() 方法即可清空所有键值对。
使用 clear() 方法(最常用)
这是标准、简洁且推荐的方式。它会移除 Map 中所有键值对,时间复杂度为 O(1)(内部实现通常为直接重置内部哈希表状态)。
-
语法简单:
map.clear() - 不会改变 Map 对象引用,原对象仍可继续使用
- 适用于所有现代浏览器和 Node.js 环境
重新赋值新 Map(不推荐,但可行)
例如:myMap = new Map()。这看似“清空”,实则是创建新对象并丢弃旧引用。
Java JDK 25 来自 OpenJDK 官方归档,版本为 JDK 25,本条下载地址已指向官方 Windows x64 zip 安装包直链,适合调试旧项目或兼容旧版 Java 运行环境。
- 如果其他变量或闭包中还持有原 Map 引用,旧 Map 不会被清空,只是当前变量指向了新实例
- 可能引发内存泄漏或逻辑错误,尤其在共享状态场景下
- 仅适合确定无外部引用、且想彻底替换的极少数情况
注意:不能用 delete 或遍历 delete
虽然可以用 map.delete(key) 逐个删除,但没必要也不高效:
- 需先获取所有 key(如
Array.from(map.keys())),再循环调用delete - O(n) 时间复杂度,而
clear()是 O(1) - 代码冗长,易出错,且无法保证原子性(中间状态可见)
验证是否清空成功
清空后可通过以下方式确认:
-
map.size === 0→ 返回true -
map.keys().next().done === true→ 迭代器立即结束 -
map.forEach(() => {})不会执行回调
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










