博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
容器 - HashSet源码学习小结
阅读量:6682 次
发布时间:2019-06-25

本文共 591 字,大约阅读时间需要 1 分钟。

hot3.png

HashSet源码学习小结

部分源码如下:

private transient HashMap
map; private static final Object PRESENT = new Object(); public HashSet() { map = new HashMap<>(); } public boolean add(E e) { return map.put(e, PRESENT)==null; } public boolean remove(Object o) { return map.remove(o)==PRESENT; } public boolean isEmpty() { return map.isEmpty(); }

由此可知:

  • HashSet底层是使用HashMap实现的 , 因为 HashMap 的 key 值不可重复;
  • HashMap 在 put 时,若不存在此 key ,则返回null, 若已经存在,则直接返回;所以由 map.put(e, PRESENT)==null 获取是否添加成功;

转载于:https://my.oschina.net/mengzhang6/blog/2872627

你可能感兴趣的文章
Elasticsearch 连接查询
查看>>
Retrofit入门
查看>>
观点:正在消逝的运维江湖
查看>>
istio 监控,遥测 (理论)
查看>>
Python学习-baseNo.2
查看>>
spring data mongo 复合索引
查看>>
修改Windows Server 2008远程桌面连接端口
查看>>
Android获取指定目录下的文件代码
查看>>
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
查看>>
新疆之春(二)魂牵梦绕赛里木湖
查看>>
解析el表达式出错
查看>>
vmware实现nat上网
查看>>
Linux一键安装Aria2+Yaaw+FileManager实现BT磁力下载,并在线查看/观看
查看>>
unity3d zegui 按钮图标更换 不成功
查看>>
安装wxPHP后,apache无法启动
查看>>
android判断是否连接网络
查看>>
sqlite 打开数据库
查看>>
我的友情链接
查看>>
通过SSH证书实现Putty免密码登录CentOS
查看>>
Java IO类库之Bits
查看>>