Java中HashMap和HashTable的区别以及HashTable和ConcurrentHashMap的区别?

相同点:HashMap和HasheTalbe都可以使用来存储key–value的数据。
区别
1、HashMap是可以把null作为key或者value的,而HashTable是不可以的。
2、HashMap是线程不安全的,效率较高。而HashTalbe是线程安全的,效率较低。

又想线程安全又想效率高?

通过使用ConcurrentHashMap:把整个Map分为N个Segment(类似HashTable),可以提供相同的线程安全,但是效率提升N倍,默认提升16倍。

你可能感兴趣的:(Java面试题)