home *** CD-ROM | disk | FTP | other *** search
- package java.util;
-
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import java.io.Serializable;
-
- public class HashSet extends AbstractSet implements Set, Cloneable, Serializable {
- private transient HashMap map;
- private static final Object PRESENT = new Object();
-
- public HashSet() {
- this.map = new HashMap();
- }
-
- public HashSet(Collection var1) {
- this.map = new HashMap(Math.max(2 * var1.size(), 11));
- ((AbstractCollection)this).addAll(var1);
- }
-
- public HashSet(int var1, float var2) {
- this.map = new HashMap(var1, var2);
- }
-
- public HashSet(int var1) {
- this.map = new HashMap(var1);
- }
-
- public Iterator iterator() {
- return this.map.keySet().iterator();
- }
-
- public int size() {
- return this.map.size();
- }
-
- public boolean isEmpty() {
- return this.map.isEmpty();
- }
-
- public boolean contains(Object var1) {
- return this.map.containsKey(var1);
- }
-
- public boolean add(Object var1) {
- return this.map.put(var1, PRESENT) == null;
- }
-
- public boolean remove(Object var1) {
- return this.map.remove(var1) == PRESENT;
- }
-
- public void clear() {
- this.map.clear();
- }
-
- public Object clone() {
- try {
- HashSet var1 = (HashSet)super.clone();
- var1.map = (HashMap)this.map.clone();
- return var1;
- } catch (CloneNotSupportedException var2) {
- throw new InternalError();
- }
- }
-
- private synchronized void writeObject(ObjectOutputStream var1) throws IOException {
- var1.defaultWriteObject();
- var1.writeInt(this.map.capacity());
- var1.writeFloat(this.map.loadFactor());
- var1.writeInt(this.map.size());
- Iterator var2 = this.map.keySet().iterator();
-
- while(var2.hasNext()) {
- var1.writeObject(var2.next());
- }
-
- }
-
- private synchronized void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
- var1.defaultReadObject();
- int var2 = var1.readInt();
- float var3 = var1.readFloat();
- this.map = new HashMap(var2, var3);
- int var4 = var1.readInt();
-
- for(int var5 = 0; var5 < var4; ++var5) {
- Object var6 = var1.readObject();
- this.map.put(var6, PRESENT);
- }
-
- }
- }
-