java中的hashmap类
时间: 2023-10-23 13:21:04 浏览: 90
Java SE程序 HashMap类
Java中的HashMap是一种基于哈希表实现的Map集合,它用于存储键值对,其中每个键都可以映射到一个唯一的值。HashMap的底层实现是一个数组和链表结合的数据结构,它通过哈希函数将键映射到数组中的一个位置,然后在该位置上使用链表存储具有相同哈希值的键值对。
HashMap的常用方法有:
1. put(key, value):向HashMap中添加键值对。
2. get(key):根据键获取对应的值。
3. remove(key):根据键删除对应的键值对。
4. containsKey(key):判断HashMap中是否包含指定的键。
5. containsValue(value):判断HashMap中是否包含指定的值。
6. keySet():返回HashMap中所有键的集合。
7. values():返回HashMap中所有值的集合。
8. entrySet():返回HashMap中所有键值对的集合。
例如,我们可以创建一个HashMap对象用于存储学生的姓名和对应的成绩:
```
HashMap<String, Integer> scores = new HashMap<>();
scores.put("Alice", 90);
scores.put("Bob", 80);
scores.put("Charlie", 70);
```
然后,我们可以根据键来获取对应的值:
```
int score = scores.get("Alice"); // score = 90
```
也可以遍历HashMap中的所有键值对:
```
for (Map.Entry<String, Integer> entry : scores.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
```
需要注意的是,HashMap并不是线程安全的,如果在多线程环境下使用,需要进行额外的同步处理。另外,如果HashMap中的键对象是自定义的类,需要注意该类是否正确实现了equals()和hashCode()方法。
阅读全文