
com.xwzhou.commons.util.ConcurrentHashSet Maven / Gradle / Ivy
The newest version!
package com.xwzhou.commons.util;
import java.util.AbstractSet;
import java.util.Collection;
import java.util.Iterator;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
public class ConcurrentHashSet extends AbstractSet implements Set {
private final ConcurrentHashMap _map = new ConcurrentHashMap();
private transient Set _keys = _map.keySet();
public ConcurrentHashSet() {
}
public boolean add(E e) {
return _map.put(e, Boolean.TRUE) == null;
}
public void clear() {
_map.clear();
}
public boolean contains(Object o) {
return _map.containsKey(o);
}
public boolean containsAll(Collection> c) {
return _keys.containsAll(c);
}
public boolean equals(Object o) {
return o == this || _keys.equals(o);
}
public int hashCode() {
return _keys.hashCode();
}
public boolean isEmpty() {
return _map.isEmpty();
}
public Iterator iterator() {
return _keys.iterator();
}
public boolean remove(Object o) {
return _map.remove(o) != null;
}
public boolean removeAll(Collection> c) {
return _keys.removeAll(c);
}
public boolean retainAll(Collection> c) {
return _keys.retainAll(c);
}
public int size() {
return _map.size();
}
public Object[] toArray() {
return _keys.toArray();
}
public T[] toArray(T[] a) {
return _keys.toArray(a);
}
public String toString() {
return _keys.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy