HashMap和Hashtable的区别

HashMap和Hashtable都是Java中实现Map接口的类,主要区别在于线程安全性、是否允许null值和性能方面。Hashtable是线程安全但速度较慢,而HashMap非同步且速度更快。此外,Hashtable不接受null键和值,HashMap则可以。了解这些差异对于选择合适的集合类至关重要。
摘要由CSDN通过智能技术生成

HashMap和Hashtable的区别

	1.它们都属于Map接口的类,实现了将唯一键映射到特定的值上;
	
	2.Hashtable底层是一个哈希表是一个线程安全的集合,是单线程集合,速度慢;
	
	3.HashMap底层是一个哈希表,是一个线程不安全的集合,是多线程的集合,速度快;
	
	4.HashMap类没有分类或者排序,它允许存储一个null键和多个null值;

	5.Hashtable类似于HashMap,但是不允许存储null键和null值;
	
	6.Hashtable继承自Dictinary类,而HashMap是java1.2引进Map接口的一个实现;
	
	7.Hashtable的子类Properties依然活跃在历史舞台,Properties集合是一个唯一和集合相结合的集合;
	
	8。HashMap把Hashtable的contains方法去掉,改成了containsValue()和containsKey();
	
	9.Hashtable是线程同步的,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap则是非同步的,必须为之提供外同步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值