HashSet, LinkedHashSet源码
作者:
后来丶_a24d | 来源:发表于
2020-04-14 17:32 被阅读0次
目录
HashSet
- 对于HashSet而言,它是基于HashMap实现的,HashSet底层使用HashMap来保存所有元素, value为
// 定义一个虚拟的Object对象作为HashMap的value,将此对象定义为static final。
private static final Object PRESENT = new Object();
// 如果是更新元素hashmap返回非空,所以这里能通过判断是否为空返回add是否成功
// 因为hashmap更新时value是相同的,这就保证了set无重复值
public boolean add(E e) {
return map.put(e, PRESENT)==null;
}
LinkedHashSet
- 基于LinkedHashMap实现,思路与HashSet一致
参考文章
本文标题:HashSet, LinkedHashSet源码
本文链接:https://www.haomeiwen.com/subject/cbitvhtx.html
网友评论