JDK源码(二十四):HashSet
Posted jdkSpring
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDK源码(二十四):HashSet相关的知识,希望对你有一定的参考价值。
Collection,而HashMap实现Map接口,不继承Collection。
类名
public class HashSet<E>
extends AbstractSet<E>
implements Set<E>, Cloneable, java.io.Serializable
变量
private transient HashMap<E,Object> map;
// 与备份映射中的对象关联的虚拟值
private static final Object PRESENT = new Object();
从变量中我们可以看出,HashSet的实现其实就是HashMap,HashMap存储的是key-value,而HashSet是将值存在key上,value保存默认值Object。
add
public boolean add(E e) {
return map.put(e, PRESENT)==null;
}
从add方法上我们也可以看出HashSet是把值存储到key上。
实例
源码(JDK1.8)
以上是关于JDK源码(二十四):HashSet的主要内容,如果未能解决你的问题,请参考以下文章
二十四.SpringCloudConfig源码-配置拉取流程