home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / java / util / HashSet.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.3 KB  |  94 lines

  1. package java.util;
  2.  
  3. import java.io.IOException;
  4. import java.io.ObjectInputStream;
  5. import java.io.ObjectOutputStream;
  6. import java.io.Serializable;
  7.  
  8. public class HashSet extends AbstractSet implements Set, Cloneable, Serializable {
  9.    private transient HashMap map;
  10.    private static final Object PRESENT = new Object();
  11.  
  12.    public HashSet() {
  13.       this.map = new HashMap();
  14.    }
  15.  
  16.    public HashSet(Collection var1) {
  17.       this.map = new HashMap(Math.max(2 * var1.size(), 11));
  18.       ((AbstractCollection)this).addAll(var1);
  19.    }
  20.  
  21.    public HashSet(int var1, float var2) {
  22.       this.map = new HashMap(var1, var2);
  23.    }
  24.  
  25.    public HashSet(int var1) {
  26.       this.map = new HashMap(var1);
  27.    }
  28.  
  29.    public Iterator iterator() {
  30.       return this.map.keySet().iterator();
  31.    }
  32.  
  33.    public int size() {
  34.       return this.map.size();
  35.    }
  36.  
  37.    public boolean isEmpty() {
  38.       return this.map.isEmpty();
  39.    }
  40.  
  41.    public boolean contains(Object var1) {
  42.       return this.map.containsKey(var1);
  43.    }
  44.  
  45.    public boolean add(Object var1) {
  46.       return this.map.put(var1, PRESENT) == null;
  47.    }
  48.  
  49.    public boolean remove(Object var1) {
  50.       return this.map.remove(var1) == PRESENT;
  51.    }
  52.  
  53.    public void clear() {
  54.       this.map.clear();
  55.    }
  56.  
  57.    public Object clone() {
  58.       try {
  59.          HashSet var1 = (HashSet)super.clone();
  60.          var1.map = (HashMap)this.map.clone();
  61.          return var1;
  62.       } catch (CloneNotSupportedException var2) {
  63.          throw new InternalError();
  64.       }
  65.    }
  66.  
  67.    private synchronized void writeObject(ObjectOutputStream var1) throws IOException {
  68.       var1.defaultWriteObject();
  69.       var1.writeInt(this.map.capacity());
  70.       var1.writeFloat(this.map.loadFactor());
  71.       var1.writeInt(this.map.size());
  72.       Iterator var2 = this.map.keySet().iterator();
  73.  
  74.       while(var2.hasNext()) {
  75.          var1.writeObject(var2.next());
  76.       }
  77.  
  78.    }
  79.  
  80.    private synchronized void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
  81.       var1.defaultReadObject();
  82.       int var2 = var1.readInt();
  83.       float var3 = var1.readFloat();
  84.       this.map = new HashMap(var2, var3);
  85.       int var4 = var1.readInt();
  86.  
  87.       for(int var5 = 0; var5 < var4; ++var5) {
  88.          Object var6 = var1.readObject();
  89.          this.map.put(var6, PRESENT);
  90.       }
  91.  
  92.    }
  93. }
  94.