HashMap, HashTable and HashSet
2013-01-30 17:39
169 查看
不同点:
HashMap基本上等同于HashTable,除了:
1,HashMap不是线程安全的。
2,HashMap允许key和value为空值,而HashTable的key和value都不允许为空。
HashSet不是key-value结构。
相同点:
1,HashMap, HashTable和HashSet都不允许重复值。原因很简单:如果输入值是重复的,那么计算出来的hash值肯定也是重复的,此时就会产生碰撞,降低hash表的效率。
如果插入值和前面的重复,则会覆盖前面的重复值。
2,HashMap, HashTable和HashSet都不保证顺序。因为hash表中存储的数据并没有顺序可言,存储位置是完全根据hash函数定的。
HashMap基本上等同于HashTable,除了:
1,HashMap不是线程安全的。
2,HashMap允许key和value为空值,而HashTable的key和value都不允许为空。
HashSet不是key-value结构。
相同点:
1,HashMap, HashTable和HashSet都不允许重复值。原因很简单:如果输入值是重复的,那么计算出来的hash值肯定也是重复的,此时就会产生碰撞,降低hash表的效率。
如果插入值和前面的重复,则会覆盖前面的重复值。
2,HashMap, HashTable和HashSet都不保证顺序。因为hash表中存储的数据并没有顺序可言,存储位置是完全根据hash函数定的。
相关文章推荐
- (Core-JAVA) HashMap, HashTable and HashSet
- Hashtable and HashMap are two hash based collection in Java and used to store objects as key value p
- HashSet HashTable HashMap的区别
- HashTable、HashMap与HashSet
- Java - Difference between HashMap and HashSet in Java
- Java HashMap and HashSet
- hashset hashmap hashtable arraylist vector 区别
- HashSet HashTable HashMap的区别
- hashset hashmap hashtable arraylist vector 区别
- HashMap and HashSet
- HashMap HashTable HashSet区别剖析
- HashSet HashTable HashMap的区别
- 数据结构-HashMap Hashtable HashSet
- HashMap Hashtable HashSet
- HashSet HashTable HashMap 区别
- HashTable HashMap HashSet区别(java) [From 爱做饭的小莹子]
- 再思考Java里的数据结构容器——hash容器:hashset hashmap hashtable
- HashSet HashTable HashMap的区别
- 【Data Structures】 12. Hashing, HashMap and HashSet in Java
- Java HashTable/HashMap/HashSet的区别