题目:
下面关于HashMap与HashTable区别的表述正确的是___(多选)
A、HashMap与HashTable采用的hash/rehas算法基本一致。
B、HashMap允许将null作为一个entry或key或value,而HashTable不允许。
C、HashMap与HashTable都是Map interface的实现。
D、HashTable的方法是Syncronized的,而HashMap不是,因此HashMap非线程安全。
结果:B、C、D
解释:
A:HashMap先调用hashCode方法计算出来一个hash值,再将hash与右移16位后相异或,从而得到新的hash,而Hashtable通过计算key的hashCode()来得到hash值就为最终hash值,所以两者的hash算法都是一致的,A错误。
B、HashMap的key和value都允许是null,而HashTable不允许,B正确;
C、HashMap和HashTable都实现了Map接口,C正确;
D、HashTable是线程安全的,HashMap不是线程安全的,D正确;