黑马程序员技术交流社区
标题:
HashSet 的部分源码实现
[打印本页]
作者:
fmi110
时间:
2015-10-5 15:12
标题:
HashSet 的部分源码实现
HashSet 是用Map实现的,向set添加元素,其实就是向内部的map添加一个Key,即添加的元素作为key,而值为一个静态Object对象,即所有 的key都映射到该对象上,set的删除调用了额 map.remove(key),如果key存在 则返回真,否则返回假
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;
private static final Object PRESENT = new Object();
public boolean add(E e) {
return map.put(e, PRESENT) == null;
}
public boolean remove(Object o) {
return map.remove(o) == PRESENT;
}
}
复制代码
作者:
赵存金
时间:
2015-10-5 16:12
还没学到这个类。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2