import java.util.HashMap;
import java.util.Iterator;
/**
* 自己实现一个HashSet
*/
public class MyHashSet {
/**
* HashSet底层是使用map存储的
*/
private HashMap<Object, Object> map;
/**
* map存储所有Value都是DEFAULTOBJECT
*/
private static final Object DEFAULTOBJECT = new Object();
/**
* 构造方法
*/
public MyHashSet() {
map = new HashMap<Object, Object>();
}
/**
* 容量大小
* @return
*/
public int size() {
return map.size();
}
/**
* 是否为空
* @return
*/
public boolean isEmpty() {
return map.isEmpty();
}
/**
* 添加元素
* @param o
* @return
*/
public boolean add(Object o) {
return map.put(o, DEFAULTOBJECT) == null;
}
/**
* 删除元素
* @param o
* @return
*/
public boolean remove(Object o) {
return map.remove(o) == DEFAULTOBJECT;
}
/**
* 迭代器
* @return
*/
public Iterator<Object> iterator(){
return map.keySet().iterator();
}
}