Hashmap与HashSet的关系
【摘要】 Hashset内部是 由Hashmap构造的,只用到了Hashmap的key。
见Hashset的源码:
public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.Serializable{ static final long...
Hashset内部是 由Hashmap构造的,只用到了Hashmap的key。
见Hashset的源码:
-
public class HashSet<E>
-
extends AbstractSet<E>
-
implements Set<E>, Cloneable, java.io.Serializable
-
{
-
static final long serialVersionUID = -5024744406713321676L;
-
-
private transient HashMap<E,Object> map;
-
-
// Dummy value to associate with an Object in the backing Map
-
private static final Object PRESENT = new Object();
-
-
/**
-
* Constructs a new, empty set; the backing <tt>HashMap</tt> instance has
-
* default initial capacity (16) and load factor (0.75).
-
*/
-
public HashSet() {
-
map = new HashMap<E,Object>();
-
}
-
......
-
}
其中构造函数HashSet 内部有这句代码:map = new HashMap<E,Object>. 同时从public class HashSet<E>的声明可以看出HashSet只关心key,并没有使用HashMap中的value。所以说HashSet是一种特别的HashMap。
文章来源: blog.csdn.net,作者:冉航--小虾米,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/gaoxiaoweiandy/article/details/118058250
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)