HashMap和HashTable的区别

亦凉 2022-05-27 06:59 84阅读 0赞

首先声明一点,HashTable其实是一个过时的集合类,它相当于Java API中的老古董了,那么它到底和HashMap这个小鲜肉有什么区别呢?我们从线程安全性、同步以及速度这三方面去比较它:

首先两者都实现了Map接口,HashMap是非同步的(syncronized),所以HashMap的线程安全性要低于HashTable,速度上比HashTable要占优势,HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,可能是 HashMap中没有该键,也可能使该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键, 而应该用containsKey()方法来判断;而HashTable的key和value都不允许出现null值,且HashTable是同步的,所以要比HashMap安全。

发表评论

表情:
评论列表 (有 0 条评论,84人围观)

还没有评论,来说两句吧...

相关阅读