如何在Java中使用HashMap存储键值对

导入HashMap类后创建实例,如HashMap personAge = new HashMap(); 2. 使用put()添加键值对,get()获

取值,containsKey()/containsValue()检查存在性,entrySet()遍历,remove()删除键值对;HashMap无序、键唯一,多线程用ConcurrentHashMap。

在Java中使用HashMap存储键值对非常简单且高效。HashMap是java.util包中的一个类,用于以键值对的形式存储数据,支持快速的查找、插入和删除操作。

导入HashMap类

使用HashMap前需要先导入相应的类:

import java.util.HashMap;

创建HashMap实例

声明并初始化一个HashMap对象,指定键和值的数据类型。例如,存储姓名(String)和年龄(Integer):

HashMap personAge = new HashMap();

添加键值对

使用put()方法将键值对存入HashMap:

  • put(K key, V value):将指定的键和值存入map

示例:

personAge.put("Alice", 25);
personAge.put("Bob", 30);
personAge.put("Charlie", 35);

获取值

通过键来获取对应的值,使用get()方法:

Integer age = personAge.get("Alice");
System.out.println(age); // 输出:25

如果键不存在,get()会返回null。

检查键或值是否存在

可以使用以下方法判断:

  • containsKey(Object key):判断是否包含某个键
  • containsValue(Object value):判断是否包含某个值

示例:

boolean hasAlice = personAge.containsKey("Alice"); // true
boolean hasAge40 = personAge.containsValue(40); // false

遍历HashMap

可以通过keySet()或entrySet()来遍历:

  • 遍历键:
for (String key : personAge.keySet()) {
    System.out.println(key + " -> " + personAge.get(key));
}
  • 遍历键值对(推荐,效率更高):
for (Map.Entry entry : personAge.entrySet()) {
    System.out.println(entry.getKey() + " -> " + entry.getValue());
}

移除键值对

使用remove(Object key)删除指定键的映射:

personAge.remove("Bob");

调用后,"Bob"这个键及其对应的值会被删除。

基本上就这些。HashMap不保证顺序,如果需要有序,可考虑LinkedHashMap。注意键不能重复,重复的键会覆盖原有值。多线程环境下建议使用ConcurrentHashMap。使用得当,HashMap是处理键值数据的首选工具。