HashMap
是 Java 中常用的集合类之一,它实现了 Map
接口,基于哈希表实现。HashMap
允许存储键值对,其中键和值都可以是任意类型的对象。
1. 创建 HashMap
import java.util.HashMap; import java.util.Map; public class HashMapExample { public static void main(String[] args) { // 创建一个 HashMap Map<String, Integer> hashMap = new HashMap<>(); // 添加键值对 hashMap.put("One", 1); hashMap.put("Two", 2); hashMap.put("Three", 3); // 打印 HashMap System.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
或进行适当的同步处理。