HashMap与HashTable的区别
1.考察目标
集合的体系结构是否熟悉
JDK版本更新是否了解
2.题目分析
相同点:
都是双列集合,一个键对应一个值
都是键不能重复,但是值可以重复
不同点:
出现的版本区别:
HashMap是JDK1.2版本出现的.
HashTable是JDK1.0版本出现的.
线程同步的区别:
HashMap是线程不同步的.
HashTable是线程同步的.
存储数据的区别:
HashMap可以存储null键和null值
HashTable不能存储null键和null值
3.应用场景
双列集合优先使用HashMap集合
如果是在多线程的场景下,也无需使用HashTable集合,我们可以使用ConcurrentHashMap集合,该集合是一个线程同步的!
Hashtable集合虽然使用不多,但是它有一个给力的子类:Properties集合在大量使用中,一般配合IO流来加载配置文件!