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<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, Serializable {
- // $FF: renamed from: m java.util.NavigableMap
- private transient NavigableMap<E, Object> field_0;
- private static final Object PRESENT = new Object();
- private static final long serialVersionUID = -2479143000061671589L;
-
- TreeSet(NavigableMap<E, Object> var1) {
- this.field_0 = var1;
- }
-
- public TreeSet() {
- this(new TreeMap());
- }
-
- public TreeSet(Comparator<? super E> var1) {
- this(new TreeMap(var1));
- }
-
- public TreeSet(Collection<? extends E> var1) {
- this();
- this.addAll(var1);
- }
-
- public TreeSet(SortedSet<E> var1) {
- this(var1.comparator());
- this.addAll(var1);
- }
-
- public Iterator<E> iterator() {
- return this.field_0.navigableKeySet().iterator();
- }
-
- public Iterator<E> descendingIterator() {
- return this.field_0.descendingKeySet().iterator();
- }
-
- public NavigableSet<E> descendingSet() {
- return new TreeSet<E>(this.field_0.descendingMap());
- }
-
- 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(E 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<? extends E> 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 NavigableSet<E> subSet(E var1, boolean var2, E var3, boolean var4) {
- return new TreeSet<E>(this.field_0.subMap(var1, var2, var3, var4));
- }
-
- public NavigableSet<E> headSet(E var1, boolean var2) {
- return new TreeSet<E>(this.field_0.headMap(var1, var2));
- }
-
- public NavigableSet<E> tailSet(E var1, boolean var2) {
- return new TreeSet<E>(this.field_0.tailMap(var1, var2));
- }
-
- public SortedSet<E> subSet(E var1, E var2) {
- return this.subSet(var1, true, var2, false);
- }
-
- public SortedSet<E> headSet(E var1) {
- return this.headSet(var1, false);
- }
-
- public SortedSet<E> tailSet(E var1) {
- return this.tailSet(var1, true);
- }
-
- public Comparator<? super E> comparator() {
- return this.field_0.comparator();
- }
-
- public E first() {
- return (E)this.field_0.firstKey();
- }
-
- public E last() {
- return (E)this.field_0.lastKey();
- }
-
- public E lower(E var1) {
- return (E)this.field_0.lowerKey(var1);
- }
-
- public E floor(E var1) {
- return (E)this.field_0.floorKey(var1);
- }
-
- public E ceiling(E var1) {
- return (E)this.field_0.ceilingKey(var1);
- }
-
- public E higher(E var1) {
- return (E)this.field_0.higherKey(var1);
- }
-
- public E pollFirst() {
- Map.Entry var1 = this.field_0.pollFirstEntry();
- return (E)(var1 == null ? null : var1.getKey());
- }
-
- public E pollLast() {
- Map.Entry var1 = this.field_0.pollLastEntry();
- return (E)(var1 == null ? null : var1.getKey());
- }
-
- 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);
- return var4;
- }
-
- private 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 void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
- var1.defaultReadObject();
- Comparator var2 = (Comparator)var1.readObject();
- TreeMap var3;
- if (var2 == null) {
- var3 = new TreeMap();
- } else {
- var3 = new TreeMap(var2);
- }
-
- this.field_0 = var3;
- int var4 = var1.readInt();
- var3.readTreeSet(var4, var1, PRESENT);
- }
- }
-