HashSet、HashMap比较
来源:互联网 发布:淘宝加盟代理是真的吗 编辑:程序博客网 时间:2024/06/03 15:34
首先明确的一点是:
HashSet底层是用HashMap实现的。
但是他并没有进行功能的扩展,相反,它的功能可以说是更加限制了。
区别:
HashSet是单列,HashMap是键值对(双列)。
HashSet值不能重复,HashMap键不能重复(相当于索引),值可以重复。
HashSet添加元素用add方法,HashMap用put方法。
HashSet加入重复的元素会报错,而HashMap加入重复的key会更新value,若不同的key的hashCode相同,则在同一个桶(bucket)形成一条链,最后添加的元素在链头。
HashSet实现了Collection接口,HashMap没有。
相同点:
1、哈希方法使用;
2、值允许null;
完成HashSet的存储时,要确保对象重写equals和hashCode方法。
如果没有重写,则使用这两个方法的默认实现。因为这两个方法是Object类中有的方法。
而object是所有类的超类。
(这里提醒一下,这个object父类不算进单继承的类的范围,而枚举类因为默认继承了java.lang.Enum类,因此不能再继承其他类,因此实际使用中枚举类只能实现接口,而不能继承)
总结:
HashSet可以说是HashMap的key部分。
阅读全文
0 0
- HashSet和HashMap比较
- HashSet和HashMap比较
- HashSet、HashMap比较
- HashMap、Hashtable、HashSet的比较
- Java:Map与HashMap,Hashtable,HashSet比较
- HashMap,HashTable,HashSet,ConcurrentHashMap的分析比较
- Java:Map与HashMap,Hashtable,HashSet比较
- Java:Map与HashMap,Hashtable,HashSet比较
- Java:Map与HashMap,Hashtable,HashSet比较
- Java:Map与HashMap,Hashtable,HashSet比较
- Java:Map与HashMap,Hashtable,HashSet比较
- HashSet和HashMap的区别比较
- HashMap、Hashtable、HashSet 和 ConcurrentHashMap 的比较
- 【转】HashSet 和 HashMap 的比较
- Hashmap hashset
- hashmap,hashset
- HashMap,HashSet
- HashSet、HashMap
- 分布式一致性之Raft算法
- MySQL大表优化方案
- 请求的重定向与转发的区别
- PLSQL Developer导入dmp文件,一闪而过。
- 一天的软件测试实习
- HashSet、HashMap比较
- 诚通网盘测试
- 动态建线段树,hdu6183,参考杰少的博客
- 拉链表简介
- java泛型-简单易懂
- maven的工程POM文件讲解
- 2017ACM暑假集训感悟
- MyBatis 插入空值时,需要指定JdbcType
- 去掉 IDEA 中 mybatis配置文件的局部背景颜色