不同点:
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在Java集合框架中的相似与不同之处。重点在于它们的线程安全性、允许空值的能力以及数据存储的顺序性。
4694

被折叠的 条评论
为什么被折叠?



