答案:HashMap是Java中基于哈希表实现的Map接口,常用方法包括put、get、remove、containsKey、containsValue、size、isEmpty、keySet、values、entrySet和clear,适用于增删改查与遍历操作,但非线程安全。

HashMap 是 Java 中最常用的数据结构之一,属于 java.util 包,基于哈希表实现 Map 接口。它允许存储键值对(key-value),其中键不能重复,值可以重复,且允许使用 null 作为键或值。下面介绍 HashMap 的一些常用方法及其使用场景。
put(K key, V value)
向 HashMap 中添加一个键值对。如果键已存在,则替换旧值并返回旧值;如果键不存在,则插入新条目并返回 null。适用于初始化数据或更新某个键对应的值。
- map.put("name", "Alice");
- map.put("age", "25");
若再次 put 相同的 key,如 map.put("name", "Bob"),则 "Alice" 被覆盖。
get(Object key)
根据指定的键获取对应的值。如果键不存在,返回 null。用于查询某个键是否存在于 map 中并获取其值。
立即学习“Java免费学习笔记(深入)”;
- String name = map.get("name"); // 返回 "Bob"
- Integer age = map.get("age"); // 注意类型匹配
注意:null 值和不存在的键都会返回 null,需结合 containsKey 判断是否存在键。
remove(Object key)
删除指定键的映射关系,并返回该键对应的旧值。如果键不存在,返回 null。适用于需要移除某个配置项或临时数据时。
酷纬企业网站管理系统Kuwebs是酷纬信息开发的为企业网站提供解决方案而开发的营销型网站系统。在线留言模块、常见问题模块、友情链接模块。前台采用DIV+CSS,遵循SEO标准。 1.支持中文、英文两种版本,后台可以在不同的环境下编辑中英文。 3.程序和界面分离,提供通用的PHP标准语法字段供前台调用,可以为不同的页面设置不同的风格。 5.支持google地图生成、自定义标题、自定义关键词、自定义描
- String oldName = map.remove("name"); // 删除后返回 "Bob"
containsKey(Object key) 和 containsValue(Object value)
containsKey 判断是否包含某个键,返回 boolean;containsValue 判断是否包含某个值,也返回 boolean。常用于条件判断前的检查。
- if (map.containsKey("age")) { ... }
- if (map.containsValue("25")) { ... }
containsValue 需遍历所有值,性能较低,不建议频繁调用。
size() 和 isEmpty()
size() 返回 map 中键值对的数量;isEmpty() 判断 map 是否为空。在循环处理或校验输入时非常有用。
- int count = map.size(); // 获取元素个数
- if (!map.isEmpty()) { ... } // 安全操作前判断
keySet(), values(), entrySet()
这三个方法用于遍历 map:- keySet() 返回所有键的 Set 视图
- values() 返回所有值的 Collection 视图
- entrySet() 返回所有键值对的 Set 视图,常用于遍历
推荐使用 entrySet 遍历,效率更高:
for (Map.Entryentry : map.entrySet()) { System.out.println(entry.getKey() + ": " + entry.getValue()); }
clear()
清空 map 中所有键值对,使其变为空。适用于重置状态或释放内存。
- map.clear(); // 移除所有元素
基本上就这些。HashMap 的这些方法覆盖了日常开发中的增删改查和遍历需求,掌握它们能大幅提升编码效率。注意线程安全问题:HashMap 不是线程安全的,多线程环境下应使用 ConcurrentHashMap 或加锁处理。









