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 / TreeSet.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  3.4 KB  |  139 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 TreeSet extends AbstractSet implements SortedSet, Cloneable, Serializable {
  9.    // $FF: renamed from: m java.util.SortedMap
  10.    private transient SortedMap field_0;
  11.    private transient Set keySet;
  12.    private static final Object PRESENT = new Object();
  13.  
  14.    private TreeSet(SortedMap var1) {
  15.       this.field_0 = var1;
  16.       this.keySet = var1.keySet();
  17.    }
  18.  
  19.    public TreeSet() {
  20.       this((SortedMap)(new TreeMap()));
  21.    }
  22.  
  23.    public TreeSet(Comparator var1) {
  24.       this((SortedMap)(new TreeMap(var1)));
  25.    }
  26.  
  27.    public TreeSet(Collection var1) {
  28.       this();
  29.       this.addAll(var1);
  30.    }
  31.  
  32.    public TreeSet(SortedSet var1) {
  33.       this(var1.comparator());
  34.       this.addAll(var1);
  35.    }
  36.  
  37.    public Iterator iterator() {
  38.       return this.keySet.iterator();
  39.    }
  40.  
  41.    public int size() {
  42.       return this.field_0.size();
  43.    }
  44.  
  45.    public boolean isEmpty() {
  46.       return this.field_0.isEmpty();
  47.    }
  48.  
  49.    public boolean contains(Object var1) {
  50.       return this.field_0.containsKey(var1);
  51.    }
  52.  
  53.    public boolean add(Object var1) {
  54.       return this.field_0.put(var1, PRESENT) == null;
  55.    }
  56.  
  57.    public boolean remove(Object var1) {
  58.       return this.field_0.remove(var1) == PRESENT;
  59.    }
  60.  
  61.    public void clear() {
  62.       this.field_0.clear();
  63.    }
  64.  
  65.    public boolean addAll(Collection var1) {
  66.       if (this.field_0.size() == 0 && var1.size() > 0 && var1 instanceof SortedSet && this.field_0 instanceof TreeMap) {
  67.          SortedSet var2 = (SortedSet)var1;
  68.          TreeMap var3 = (TreeMap)this.field_0;
  69.          Comparator var4 = var2.comparator();
  70.          Comparator var5 = var3.comparator();
  71.          if (var4 == var5 || var4 != null && var4.equals(var5)) {
  72.             var3.addAllForTreeSet(var2, PRESENT);
  73.             return true;
  74.          }
  75.       }
  76.  
  77.       return super.addAll(var1);
  78.    }
  79.  
  80.    public SortedSet subSet(Object var1, Object var2) {
  81.       return new TreeSet(this.field_0.subMap(var1, var2));
  82.    }
  83.  
  84.    public SortedSet headSet(Object var1) {
  85.       return new TreeSet(this.field_0.headMap(var1));
  86.    }
  87.  
  88.    public SortedSet tailSet(Object var1) {
  89.       return new TreeSet(this.field_0.tailMap(var1));
  90.    }
  91.  
  92.    public Comparator comparator() {
  93.       return this.field_0.comparator();
  94.    }
  95.  
  96.    public Object first() {
  97.       return this.field_0.firstKey();
  98.    }
  99.  
  100.    public Object last() {
  101.       return this.field_0.lastKey();
  102.    }
  103.  
  104.    public Object clone() {
  105.       Object var1 = null;
  106.  
  107.       try {
  108.          var4 = (TreeSet)super.clone();
  109.       } catch (CloneNotSupportedException var3) {
  110.          throw new InternalError();
  111.       }
  112.  
  113.       var4.field_0 = new TreeMap(this.field_0);
  114.       var4.keySet = var4.field_0.keySet();
  115.       return var4;
  116.    }
  117.  
  118.    private synchronized void writeObject(ObjectOutputStream var1) throws IOException {
  119.       var1.defaultWriteObject();
  120.       var1.writeObject(this.field_0.comparator());
  121.       var1.writeInt(this.field_0.size());
  122.       Iterator var2 = this.field_0.keySet().iterator();
  123.  
  124.       while(var2.hasNext()) {
  125.          var1.writeObject(var2.next());
  126.       }
  127.  
  128.    }
  129.  
  130.    private synchronized void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
  131.       var1.defaultReadObject();
  132.       Comparator var2 = (Comparator)var1.readObject();
  133.       this.field_0 = var2 == null ? new TreeMap() : new TreeMap(var2);
  134.       this.keySet = this.field_0.keySet();
  135.       int var3 = var1.readInt();
  136.       ((TreeMap)this.field_0).readTreeSet(var3, var1, PRESENT);
  137.    }
  138. }
  139.