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 / TreeSet.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  5.3 KB  |  189 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<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, Serializable {
  9.    // $FF: renamed from: m java.util.NavigableMap
  10.    private transient NavigableMap<E, Object> field_0;
  11.    private static final Object PRESENT = new Object();
  12.    private static final long serialVersionUID = -2479143000061671589L;
  13.  
  14.    TreeSet(NavigableMap<E, Object> var1) {
  15.       this.field_0 = var1;
  16.    }
  17.  
  18.    public TreeSet() {
  19.       this(new TreeMap());
  20.    }
  21.  
  22.    public TreeSet(Comparator<? super E> var1) {
  23.       this(new TreeMap(var1));
  24.    }
  25.  
  26.    public TreeSet(Collection<? extends E> var1) {
  27.       this();
  28.       this.addAll(var1);
  29.    }
  30.  
  31.    public TreeSet(SortedSet<E> var1) {
  32.       this(var1.comparator());
  33.       this.addAll(var1);
  34.    }
  35.  
  36.    public Iterator<E> iterator() {
  37.       return this.field_0.navigableKeySet().iterator();
  38.    }
  39.  
  40.    public Iterator<E> descendingIterator() {
  41.       return this.field_0.descendingKeySet().iterator();
  42.    }
  43.  
  44.    public NavigableSet<E> descendingSet() {
  45.       return new TreeSet<E>(this.field_0.descendingMap());
  46.    }
  47.  
  48.    public int size() {
  49.       return this.field_0.size();
  50.    }
  51.  
  52.    public boolean isEmpty() {
  53.       return this.field_0.isEmpty();
  54.    }
  55.  
  56.    public boolean contains(Object var1) {
  57.       return this.field_0.containsKey(var1);
  58.    }
  59.  
  60.    public boolean add(E var1) {
  61.       return this.field_0.put(var1, PRESENT) == null;
  62.    }
  63.  
  64.    public boolean remove(Object var1) {
  65.       return this.field_0.remove(var1) == PRESENT;
  66.    }
  67.  
  68.    public void clear() {
  69.       this.field_0.clear();
  70.    }
  71.  
  72.    public boolean addAll(Collection<? extends E> var1) {
  73.       if (this.field_0.size() == 0 && var1.size() > 0 && var1 instanceof SortedSet && this.field_0 instanceof TreeMap) {
  74.          SortedSet var2 = (SortedSet)var1;
  75.          TreeMap var3 = (TreeMap)this.field_0;
  76.          Comparator var4 = var2.comparator();
  77.          Comparator var5 = var3.comparator();
  78.          if (var4 == var5 || var4 != null && var4.equals(var5)) {
  79.             var3.addAllForTreeSet(var2, PRESENT);
  80.             return true;
  81.          }
  82.       }
  83.  
  84.       return super.addAll(var1);
  85.    }
  86.  
  87.    public NavigableSet<E> subSet(E var1, boolean var2, E var3, boolean var4) {
  88.       return new TreeSet<E>(this.field_0.subMap(var1, var2, var3, var4));
  89.    }
  90.  
  91.    public NavigableSet<E> headSet(E var1, boolean var2) {
  92.       return new TreeSet<E>(this.field_0.headMap(var1, var2));
  93.    }
  94.  
  95.    public NavigableSet<E> tailSet(E var1, boolean var2) {
  96.       return new TreeSet<E>(this.field_0.tailMap(var1, var2));
  97.    }
  98.  
  99.    public SortedSet<E> subSet(E var1, E var2) {
  100.       return this.subSet(var1, true, var2, false);
  101.    }
  102.  
  103.    public SortedSet<E> headSet(E var1) {
  104.       return this.headSet(var1, false);
  105.    }
  106.  
  107.    public SortedSet<E> tailSet(E var1) {
  108.       return this.tailSet(var1, true);
  109.    }
  110.  
  111.    public Comparator<? super E> comparator() {
  112.       return this.field_0.comparator();
  113.    }
  114.  
  115.    public E first() {
  116.       return (E)this.field_0.firstKey();
  117.    }
  118.  
  119.    public E last() {
  120.       return (E)this.field_0.lastKey();
  121.    }
  122.  
  123.    public E lower(E var1) {
  124.       return (E)this.field_0.lowerKey(var1);
  125.    }
  126.  
  127.    public E floor(E var1) {
  128.       return (E)this.field_0.floorKey(var1);
  129.    }
  130.  
  131.    public E ceiling(E var1) {
  132.       return (E)this.field_0.ceilingKey(var1);
  133.    }
  134.  
  135.    public E higher(E var1) {
  136.       return (E)this.field_0.higherKey(var1);
  137.    }
  138.  
  139.    public E pollFirst() {
  140.       Map.Entry var1 = this.field_0.pollFirstEntry();
  141.       return (E)(var1 == null ? null : var1.getKey());
  142.    }
  143.  
  144.    public E pollLast() {
  145.       Map.Entry var1 = this.field_0.pollLastEntry();
  146.       return (E)(var1 == null ? null : var1.getKey());
  147.    }
  148.  
  149.    public Object clone() {
  150.       Object var1 = null;
  151.  
  152.       try {
  153.          var4 = (TreeSet)super.clone();
  154.       } catch (CloneNotSupportedException var3) {
  155.          throw new InternalError();
  156.       }
  157.  
  158.       var4.field_0 = new TreeMap(this.field_0);
  159.       return var4;
  160.    }
  161.  
  162.    private void writeObject(ObjectOutputStream var1) throws IOException {
  163.       var1.defaultWriteObject();
  164.       var1.writeObject(this.field_0.comparator());
  165.       var1.writeInt(this.field_0.size());
  166.       Iterator var2 = this.field_0.keySet().iterator();
  167.  
  168.       while(var2.hasNext()) {
  169.          var1.writeObject(var2.next());
  170.       }
  171.  
  172.    }
  173.  
  174.    private void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
  175.       var1.defaultReadObject();
  176.       Comparator var2 = (Comparator)var1.readObject();
  177.       TreeMap var3;
  178.       if (var2 == null) {
  179.          var3 = new TreeMap();
  180.       } else {
  181.          var3 = new TreeMap(var2);
  182.       }
  183.  
  184.       this.field_0 = var3;
  185.       int var4 = var1.readInt();
  186.       var3.readTreeSet(var4, var1, PRESENT);
  187.    }
  188. }
  189.