HashMap与HashTable的区别
首先明白一点:hashmap/hashset等凡是带有hash字眼的均基于hashtable实现(无序)
没带hash字眼的如set/map均是基于红黑树实现(有序)
HashTable |
HashMap |
线程同步 |
非线程同步 |
不允许null值 |
允许null值(key和value都可以) |
使用Enumeration |
使用Iterator |
hash数组默认大小11,增加old*2+1 |
hash数组默认大小16,是2的指数 |
哈希值直接用对象的hashcode |
重新计算hash值,并且用与代替求模 |