稻花香

软件开发,喜欢读书,编程,禅修

HashMap和HashTable的区别

15 Apr 2015 » Java

HashMap 不是线程安全的

HashMap是Map的一个子接口,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许nullkeynull value

HashTable是线程安全的一个Collection

HashMapHashTable的轻量级实现(非线程安全的实现),他们都完成了Map的接口,主要的区别在于HashMap允许空键值,由于非线程安全,效率上可能高于HashTableHashMapHashTablecontains方法去掉了,改成containsValuecontainsKey,因为contains方法容易引起误解,HashTable继承自Dictionary类。