存储结构: 通过hashmap来存储的
构造方法:
Add方法:其中PRESENT是一个定义的object常量
遍历:拿到Iterator,然后通过.next方法。
总结:不是线程安全的,不能有重复的值。查找效率比一般的链表快。插入效率高。
private transient HashMap<E,Object> map;
构造方法:
public HashSet(int initialCapacity, float loadFactor) {
map = new HashMap<E,Object>(initialCapacity, loadFactor);
}
Add方法:其中PRESENT是一个定义的object常量
private static final Object PRESENT = new Object();
public boolean add(E e) {
return map.put(e, PRESENT)==null;
}
遍历:拿到Iterator,然后通过.next方法。
public Iterator<E> iterator() {
return map.keySet().iterator();
}
总结:不是线程安全的,不能有重复的值。查找效率比一般的链表快。插入效率高。