HashSet源码分析
来源:互联网 发布:mac怎么卸载java 编辑:程序博客网 时间:2024/05/20 10:21
// HashSet的关键源码public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.Serializable{// HashSet中封装的HashMap,这个map也是数据储存的地方 private transient HashMap<E,Object> map;//在add方法中调用map.put(key,value)方法,把要添加的元素传给key,把PRESENT传给Value private static final Object PRESENT = new Object();// HashSet默认的构造方法,构造了一个HashMap public HashSet() { map = new HashMap<>(); }// 添加一个元素 public boolean add(E e) {//调用map.put(key,value)方法,若添加成功,则put方法返回null,进而add方法返回true// *****HashSet集合中添加进来的元素是存放在HashMap中的Key中,而HashMap中的Value则放一个没有任何意义的Object对象PRESENT return map.put(e, PRESENT)==null; }// map.remove(key)方法,若存在该key,则返回key.value,否则返回null public boolean remove(Object o) { return map.remove(o)==PRESENT; }}
0 0
- HashTable & HashSet 源码分析
- HashSet源码分析
- HashSet源码分析
- HashSet 源码分析
- HashSet源码分析
- HashSet源码分析
- HashSet源码分析
- 深入源码分析HashSet
- 深入源码分析HashSet
- 《Java源码分析》:HashSet
- HashMap HashSet源码分析
- 源码分析-HashSet、LinkedHashSet
- HashSet源码分析
- HashSet源码分析
- HashSet源码分析
- 《Java源码分析》:HashSet
- HashSet源码分析
- hashset类源码分析
- 微软何恺明and斯坦福的Honglak Lee个人主页--上边有顶级优秀文章和对应代码
- what does “exited abnormally with signal 9: Killed: 9” mean
- Android开发之指南针
- Sql cursor 基本应用
- universal-image-loader 配置
- HashSet源码分析
- Android连接远程数据库
- 最大报销额_1052_01背包问题
- 面试题6:重建二叉树
- Android Studio 安装教程(Windows)(续)
- R中的含有千分位分隔符数值无法转换
- Pro Vim学习笔记
- Game - HDU 3389 阶梯博弈
- 数据科学家要拥有哪些核心素质?