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 TreeSet extends AbstractSet implements SortedSet, Cloneable, Serializable {
- // $FF: renamed from: m java.util.SortedMap
- private transient SortedMap field_0;
- private transient Set keySet;
- private static final Object PRESENT = new Object();
-
- private TreeSet(SortedMap var1) {
- this.field_0 = var1;
- this.keySet = var1.keySet();
- }
-
- public TreeSet() {
- this((SortedMap)(new TreeMap()));
- }
-
- public TreeSet(Comparator var1) {
- this((SortedMap)(new TreeMap(var1)));
- }
-
- public TreeSet(Collection var1) {
- this();
- this.addAll(var1);
- }
-
- public TreeSet(SortedSet var1) {
- this(var1.comparator());
- this.addAll(var1);
- }
-
- public Iterator iterator() {
- return this.keySet.iterator();
- }
-
- public int size() {
- return this.field_0.size();
- }
-
- public boolean isEmpty() {
- return this.field_0.isEmpty();
- }
-
- public boolean contains(Object var1) {
- return this.field_0.containsKey(var1);
- }
-
- public boolean add(Object var1) {
- return this.field_0.put(var1, PRESENT) == null;
- }
-
- public boolean remove(Object var1) {
- return this.field_0.remove(var1) == PRESENT;
- }
-
- public void clear() {
- this.field_0.clear();
- }
-
- public boolean addAll(Collection var1) {
- if (this.field_0.size() == 0 && var1.size() > 0 && var1 instanceof SortedSet && this.field_0 instanceof TreeMap) {
- SortedSet var2 = (SortedSet)var1;
- TreeMap var3 = (TreeMap)this.field_0;
- Comparator var4 = var2.comparator();
- Comparator var5 = var3.comparator();
- if (var4 == var5 || var4 != null && var4.equals(var5)) {
- var3.addAllForTreeSet(var2, PRESENT);
- return true;
- }
- }
-
- return super.addAll(var1);
- }
-
- public SortedSet subSet(Object var1, Object var2) {
- return new TreeSet(this.field_0.subMap(var1, var2));
- }
-
- public SortedSet headSet(Object var1) {
- return new TreeSet(this.field_0.headMap(var1));
- }
-
- public SortedSet tailSet(Object var1) {
- return new TreeSet(this.field_0.tailMap(var1));
- }
-
- public Comparator comparator() {
- return this.field_0.comparator();
- }
-
- public Object first() {
- return this.field_0.firstKey();
- }
-
- public Object last() {
- return this.field_0.lastKey();
- }
-
- public Object clone() {
- Object var1 = null;
-
- try {
- var4 = (TreeSet)super.clone();
- } catch (CloneNotSupportedException var3) {
- throw new InternalError();
- }
-
- var4.field_0 = new TreeMap(this.field_0);
- var4.keySet = var4.field_0.keySet();
- return var4;
- }
-
- private synchronized void writeObject(ObjectOutputStream var1) throws IOException {
- var1.defaultWriteObject();
- var1.writeObject(this.field_0.comparator());
- var1.writeInt(this.field_0.size());
- Iterator var2 = this.field_0.keySet().iterator();
-
- while(var2.hasNext()) {
- var1.writeObject(var2.next());
- }
-
- }
-
- private synchronized void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
- var1.defaultReadObject();
- Comparator var2 = (Comparator)var1.readObject();
- this.field_0 = var2 == null ? new TreeMap() : new TreeMap(var2);
- this.keySet = this.field_0.keySet();
- int var3 = var1.readInt();
- ((TreeMap)this.field_0).readTreeSet(var3, var1, PRESENT);
- }
- }
-