5分钟学会hashMap和hashtable的主要知识点
分类:
文章
•
2023-11-28 14:10:16
HashMap和HashTable的主要知识点

HashMap
- HashMap是一个“链表数列”的结构,底层为一个数组,数组里面每一项是一个链表。
- HashMap中有两个参数可以影响其性能:“初始容量”和“装填因子”。
- HashMap实现不同步,线程不安全。(HashTable线程安全)。
- HashMap中的key-value都是存储在Entry中的。
- HashMap可以存null键和null值,通过hashcode()方法和equals()方法保证键的唯一性。
- 解决冲突有三种方法:定位法,拉链法,再散列法。HashMap采用拉链法解决冲突。
HashMap和HashTable的区别
- 继承不同:
public class Hashtable extends Dictionary implements Map
public class HashMap extends AbstractMap implements Map
- HashTable中方法是同步的,而HashMap方法是非同步的。
- HashTable中,key和value都不允许出现null值;在Hahsmap中,null键最多存在一个。
- 在HashMap中,因为null可以作为键或值,使用get()方法既可以表示该HashMap中没有该键,也可以表示该键对应的值为null,故HashMap中不能用get()方法来判断是否存在该键,而应用containsKey()方法判断。