查找键值原理
- hashmap底层维护了一个数组,当输入一个key值时,求这个key值的哈希值,这个哈希值实际上就是数组的下标,数组里面存储了一个Entry类,这个类分别有三个域,分别为key,value和next。next指向另一个键值不同但键值的哈希值相同的节点。
- hashmap允许null值和null键
key值重复问题 - 当key值重复时,hashmap存储元素时会直接覆盖掉此key值的value,并且把旧的value返回
多线程问题 - hashmap是线程不安全的,hashtable是线程安全的。hashmap在两个线程都试图调整map大小时会产生线程不安全问题