Hashmap与Hashtable的区别

Hashmap是新框架中用来取代hashtable的,所以肯定用的更多,那么两者有什么区别呢

Hashmap###是不同步的,###Hashtable###是同步的 类似Vector和arrayList

感兴趣的同学可以去找一下源码看看,除构造函数外,Hashtable的所有 public 方法声明中都有 synchronized 关键字,而HashMap的源代码中则连 synchronized 的影子都没有

Hashmap###允许null,###Hashtable###不允许

哈希值的使用不同,Hashtable直接使用对象的hashCode,而HashMap重新计算hash值,而且用与代替求模

Hashtable中hash数组默认大小是11,增加的方式是 old*2+1。HashMap中hash数组的默认大小是16,而且一定是2的指数。

你可能感兴趣的:(Hashmap与Hashtable的区别)