Java集合中的( Hashtable)

Hashtable:

此类实现一个哈希表,该哈希表将键映射到相应的值。任何非 null 对象都可以用作键或值。
○ 父接口:Map
○从以下版本开始: JDK1.0
○ Hashtable 是同步的

面试题:HashMap和Hashtable的区别?
1 产生时间
○ Hashtable jdk1.0
○ HashMap jdk1.2
2 继承的父类不同
○ Hashtable父类:Dictionary
○ HashMap父类:AbstractMap
3 对外提供的接口不同
○ Hashtable比HashMap多提供了elments() 和contains() 两个方法。
4 对Null key 和Null value的支持不同
○ Hashtable 不支持null键和null值
○ HashMap 支持
5 线程安全性不同
○ Hashtable 同步
○ HashMap 不同步
6 遍历方式的内部实现上不同
○ Hashtable、HashMap都使用了 Iterator。
○ 而由于历史原因,Hashtable还使用了Enumeration的方式 。
7 初始容量大小和每次扩充容量大小的不同
○ Hashtable默认的初始大小为11,之后每次扩充,容量变为原来的2n+1。
○ HashMap默认的初始化大小为16。之后每次扩充,容量变为原来的2倍。

public static void main(String[] args) {
	Hashtable<String, String> ht = new Hashtable<>();
	ht.put(null, null);
	System.out.println(ht);
	
}

猜你喜欢

转载自blog.csdn.net/qq_44013790/article/details/85267308