HashMap:1.⾮线程安全。
2.允许存在一个空键,多个空值。
3.默认初始大小为16,每次扩容为原来的2倍。
HashTable:1.线程安全,方法经过 synchronized 修饰。
2.不允许有空键或空值,否则报空指针异常。
3.默认初始大小为11,每次扩容为原来的2n+1倍
由于HashMap属于非线程安全所以效率高于HashTable,另外HashTable已经被淘汰。
如果需要实现线程安全的话使用ConcurrentHashMap。
他们都属于JAVA集合类中的Map类。