home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / util / HashSet.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  2.8 KB  |  99 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<E> extends AbstractSet<E> implements Set<E>, Cloneable, Serializable {
  9.    static final long serialVersionUID = -5024744406713321676L;
  10.    private transient HashMap<E, Object> map;
  11.    private static final Object PRESENT = new Object();
  12.  
  13.    public HashSet() {
  14.       this.map = new HashMap();
  15.    }
  16.  
  17.    public HashSet(Collection<? extends E> var1) {
  18.       this.map = new HashMap(Math.max((int)((float)var1.size() / 0.75F) + 1, 16));
  19.       this.addAll(var1);
  20.    }
  21.  
  22.    public HashSet(int var1, float var2) {
  23.       this.map = new HashMap(var1, var2);
  24.    }
  25.  
  26.    public HashSet(int var1) {
  27.       this.map = new HashMap(var1);
  28.    }
  29.  
  30.    HashSet(int var1, float var2, boolean var3) {
  31.       this.map = new LinkedHashMap(var1, var2);
  32.    }
  33.  
  34.    public Iterator<E> iterator() {
  35.       return this.map.keySet().iterator();
  36.    }
  37.  
  38.    public int size() {
  39.       return this.map.size();
  40.    }
  41.  
  42.    public boolean isEmpty() {
  43.       return this.map.isEmpty();
  44.    }
  45.  
  46.    public boolean contains(Object var1) {
  47.       return this.map.containsKey(var1);
  48.    }
  49.  
  50.    public boolean add(E var1) {
  51.       return this.map.put(var1, PRESENT) == null;
  52.    }
  53.  
  54.    public boolean remove(Object var1) {
  55.       return this.map.remove(var1) == PRESENT;
  56.    }
  57.  
  58.    public void clear() {
  59.       this.map.clear();
  60.    }
  61.  
  62.    public Object clone() {
  63.       try {
  64.          HashSet var1 = (HashSet)super.clone();
  65.          var1.map = (HashMap)this.map.clone();
  66.          return var1;
  67.       } catch (CloneNotSupportedException var2) {
  68.          throw new InternalError();
  69.       }
  70.    }
  71.  
  72.    private void writeObject(ObjectOutputStream var1) throws IOException {
  73.       var1.defaultWriteObject();
  74.       var1.writeInt(this.map.capacity());
  75.       var1.writeFloat(this.map.loadFactor());
  76.       var1.writeInt(this.map.size());
  77.       Iterator var2 = this.map.keySet().iterator();
  78.  
  79.       while(var2.hasNext()) {
  80.          var1.writeObject(var2.next());
  81.       }
  82.  
  83.    }
  84.  
  85.    private void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
  86.       var1.defaultReadObject();
  87.       int var2 = var1.readInt();
  88.       float var3 = var1.readFloat();
  89.       this.map = (HashMap<E, Object>)(this instanceof LinkedHashSet ? new LinkedHashMap(var2, var3) : new HashMap(var2, var3));
  90.       int var4 = var1.readInt();
  91.  
  92.       for(int var5 = 0; var5 < var4; ++var5) {
  93.          Object var6 = var1.readObject();
  94.          this.map.put(var6, PRESENT);
  95.       }
  96.  
  97.    }
  98. }
  99.