HashMap, HashTable and HashSet

来源:互联网 发布:韦德得分王赛季数据 编辑:程序博客网 时间:2024/05/18 23:12

不同点:

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函数定的。

原创粉丝点击