hashmap底层工作原理
时间: 2023-12-06 15:37:06 浏览: 100
HashMap是Java中常用的一种数据结构,它是基于哈希表实现的。哈希表是一种以键-值(key-value)对存储数据的数据结构,通过哈希函数将键映射到表中一个位置来访问记录,以加快查找的速度。HashMap底层工作原理如下:
1. HashMap内部维护了一个Entry数组,每个Entry包含一个键对象和一个值对象。
2. 当向HashMap中添加一个键值对时,首先根据键对象的hashCode()方法返回的哈希值计算出该键值对在Entry数组中的位置。
3. 如果该位置上已经有了其他键值对,那么就以链表的形式将新的键值对添加到该位置的链表末尾。
4. 如果该位置上没有其他键值对,那么就直接将该键值对添加到该位置。
5. 当从HashMap中获取一个键值对时,首先根据键对象的hashCode()方法返回的哈希值计算出该键值对在Entry数组中的位置,然后遍历该位置上的链表,找到键对象相同的键值对并返回其值对象。
下面是一个简单的示例代码,演示了如何使用HashMap:
```java
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// 创建一个HashMap对象
HashMap<String, Integer> map = new HashMap<>();
// 添加键值对
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
// 获取键对应的值
int value = map.get("banana");
System.out.println(value); // 输出:2
}
}
```
阅读全文