HashMap
是 Java 中常用的集合类之一,它实现了 Map
接口,基于哈希表实现。HashMap
允许存储键值对,其中键和值都可以是任意类型的对象。
1. 创建 HashMap
import java.util.HashMap;
import java.util.Map;public class HashMapExample {public static void main(String[] args) {// 创建一个 HashMapMap<String, Integer> hashMap = new HashMap<>();// 添加键值对hashMap.put("One", 1);hashMap.put("Two", 2);hashMap.put("Three", 3);// 打印 HashMapSystem.out.println(hashMap); // 输出: {One=1, Two=2, Three=3}}
}
2. 获取值
int value = hashMap.get("Two");
System.out.println("Value for key 'Two': " + value); // 输出: Value for key 'Two': 2
3. 判断是否包含某个键或值
boolean containsKey = hashMap.containsKey("Three");
boolean containsValue = hashMap.containsValue(3);System.out.println("Contains key 'Three': " + containsKey); // 输出: Contains key 'Three': true
System.out.println("Contains value 3: " + containsValue); // 输出: Contains value 3: true
4. 遍历 HashMap
for (Map.Entry<String, Integer> entry : hashMap.entrySet()) {System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
// 输出:
// Key: One, Value: 1
// Key: Two, Value: 2
// Key: Three, Value: 3
5. 替换值
hashMap.replace("Two", 20);
System.out.println(hashMap); // 输出: {One=1, Two=20, Three=3}
6. 删除键值对
hashMap.remove("Three");
System.out.println(hashMap); // 输出: {One=1, Two=20}
7. 获取键集合和值集合
Set<String> keySet = hashMap.keySet();
Collection<Integer> values = hashMap.values();System.out.println("Keys: " + keySet); // 输出: Keys: [One, Two]
System.out.println("Values: " + values); // 输出: Values: [1, 20]
8. 获取键值对的数量
int size = hashMap.size();
System.out.println("Size: " + size); // 输出: Size: 2
9. 清空 HashMap
hashMap.clear();
System.out.println(hashMap); // 输出: {}
这些是一些基本的 HashMap
操作,但要注意,HashMap
不是线程安全的。如果在多线程环境中使用,可以考虑使用 ConcurrentHashMap
或进行适当的同步处理。