Android APIs
public class

TreeSet

extends AbstractSet<E>
implements NavigableSet<E> Cloneable Serializable
java.lang.Object
   ↳ java.util.AbstractCollection<E>
     ↳ java.util.AbstractSet<E>
       ↳ java.util.TreeSet<E>

Class Overview

TreeSet is an implementation of SortedSet. All optional operations (adding and removing) are supported. The elements can be any objects which are comparable to each other either using their natural order or a specified Comparator.

Summary

Public Constructors
TreeSet()
Constructs a new empty instance of TreeSet which uses natural ordering.
TreeSet(Collection<? extends E> collection)
Constructs a new instance of TreeSet which uses natural ordering and containing the unique elements in the specified collection.
TreeSet(Comparator<? super E> comparator)
Constructs a new empty instance of TreeSet which uses the specified comparator.
TreeSet(SortedSet<E> set)
Constructs a new instance of TreeSet containing the elements of the specified SortedSet and using the same Comparator.
Public Methods
boolean add(E object)
Adds the specified object to this TreeSet.
boolean addAll(Collection<? extends E> collection)
Adds the objects in the specified collection to this TreeSet.
E ceiling(E e)
Returns the least element in this set greater than or equal to the given element, or null if there is no such element.
void clear()
Removes all elements from this TreeSet, leaving it empty.
Object clone()
Returns a new TreeSet with the same elements, size and comparator as this TreeSet.
Comparator<? super E> comparator()
Returns the comparator used to compare elements in this TreeSet.
boolean contains(Object object)
Searches this TreeSet for the specified object.
Iterator<E> descendingIterator()
Returns an iterator over the elements in this set, in descending order.
NavigableSet<E> descendingSet()
Returns a reverse order view of the elements contained in this set.
E first()
Returns the first element in this set.
E floor(E e)
Returns the greatest element in this set less than or equal to the given element, or null if there is no such element.
SortedSet<E> headSet(E end)
Returns a SortedSet of the specified portion of this TreeSet which contains elements less than the end element.
NavigableSet<E> headSet(E end, boolean endInclusive)
Returns a view of the portion of this set whose elements are less than (or equal to, if inclusive is true) toElement.
E higher(E e)
Returns the least element in this set strictly greater than the given element, or null if there is no such element.
boolean isEmpty()
Returns true if this TreeSet has no element, otherwise false.
Iterator<E> iterator()
Returns an Iterator on the elements of this TreeSet.
E last()
Returns the last element in this set.
E lower(E e)
Returns the greatest element in this set strictly less than the given element, or null if there is no such element.
E pollFirst()
Retrieves and removes the first (lowest) element, or returns null if this set is empty.
E pollLast()
Retrieves and removes the last (highest) element, or returns null if this set is empty.
boolean remove(Object object)
Removes an occurrence of the specified object from this TreeSet.
int size()
Returns the number of elements in this TreeSet.
SortedSet<E> subSet(E start, E end)
Returns a SortedSet of the specified portion of this TreeSet which contains elements greater or equal to the start element but less than the end element.
NavigableSet<E> subSet(E start, boolean startInclusive, E end, boolean endInclusive)
Returns a view of the portion of this set whose elements range from fromElement to toElement.
NavigableSet<E> tailSet(E start, boolean startInclusive)
Returns a view of the portion of this set whose elements are greater than (or equal to, if inclusive is true) fromElement.
SortedSet<E> tailSet(E start)
Returns a SortedSet of the specified portion of this TreeSet which contains elements greater or equal to the start element.
[Expand]
Inherited Methods
From class java.util.AbstractSet
From class java.util.AbstractCollection
From class java.lang.Object
From interface java.util.Set
From interface java.util.Collection
From interface java.util.NavigableSet
From interface java.lang.Iterable
From interface java.util.SortedSet

Public Constructors

public TreeSet ()

Added in API level 1

Constructs a new empty instance of TreeSet which uses natural ordering.

public TreeSet (Collection<? extends E> collection)

Added in API level 1

Constructs a new instance of TreeSet which uses natural ordering and containing the unique elements in the specified collection.

Parameters
collection Collection: the collection of elements to add.
Throws
ClassCastException when an element in the collection does not implement the Comparable interface, or the elements in the collection cannot be compared.

public TreeSet (Comparator<? super E> comparator)

Added in API level 1

Constructs a new empty instance of TreeSet which uses the specified comparator.

Parameters
comparator Comparator: the comparator to use.

public TreeSet (SortedSet<E> set)

Added in API level 1

Constructs a new instance of TreeSet containing the elements of the specified SortedSet and using the same Comparator.

Parameters
set SortedSet: the SortedSet of elements to add.

Public Methods

public boolean add (E object)

Added in API level 1

Adds the specified object to this TreeSet.

Parameters
object E: the object to add.
Returns
boolean true when this TreeSet did not already contain the object, false otherwise.
Throws
ClassCastException when the object cannot be compared with the elements in this TreeSet.
NullPointerException when the object is null and the comparator cannot handle null.

public boolean addAll (Collection<? extends E> collection)

Added in API level 1

Adds the objects in the specified collection to this TreeSet.

Parameters
collection Collection: the collection of objects to add.
Returns
boolean true if this TreeSet was modified, false otherwise.
Throws
ClassCastException when an object in the collection cannot be compared with the elements in this TreeSet.
NullPointerException when an object in the collection is null and the comparator cannot handle null.

public E ceiling (E e)

Added in API level 9

Returns the least element in this set greater than or equal to the given element, or null if there is no such element.

Parameters
e E: the value to match
Returns
E the least element greater than or equal to e, or null if there is no such element

public void clear ()

Added in API level 1

Removes all elements from this TreeSet, leaving it empty.

See also:

public Object clone ()

Added in API level 1

Returns a new TreeSet with the same elements, size and comparator as this TreeSet.

Returns
Object a shallow copy of this TreeSet.

See also:

public Comparator<? super E> comparator ()

Added in API level 1

Returns the comparator used to compare elements in this TreeSet.

Returns
Comparator<? super E> a Comparator or null if the natural ordering is used

public boolean contains (Object object)

Added in API level 1

Searches this TreeSet for the specified object.

Parameters
object Object: the object to search for.
Returns
boolean true if object is an element of this TreeSet, false otherwise.
Throws
ClassCastException when the object cannot be compared with the elements in this TreeSet.
NullPointerException when the object is null and the comparator cannot handle null.

public Iterator<E> descendingIterator ()

Added in API level 9

Returns an iterator over the elements in this set, in descending order. Equivalent in effect to descendingSet().iterator().

Returns
Iterator<E> an iterator over the elements in this set, in descending order

public NavigableSet<E> descendingSet ()

Added in API level 9

Returns a reverse order view of the elements contained in this set. The descending set is backed by this set, so changes to the set are reflected in the descending set, and vice-versa. If either set is modified while an iteration over either set is in progress (except through the iterator's own remove operation), the results of the iteration are undefined.

The returned set has an ordering equivalent to Collections.reverseOrder(comparator()). The expression s.descendingSet().descendingSet() returns a view of s essentially equivalent to s.

Returns
NavigableSet<E> a reverse order view of this set

See also:

public E first ()

Added in API level 1

Returns the first element in this set.

Returns
E the first element.
Throws
NoSuchElementException when this TreeSet is empty

public E floor (E e)

Added in API level 9

Returns the greatest element in this set less than or equal to the given element, or null if there is no such element.

Parameters
e E: the value to match
Returns
E the greatest element less than or equal to e, or null if there is no such element

public SortedSet<E> headSet (E end)

Added in API level 1

Returns a SortedSet of the specified portion of this TreeSet which contains elements less than the end element. The returned SortedSet is backed by this TreeSet so changes to one are reflected by the other.

Parameters
end E: the end element
Returns
SortedSet<E> a subset where the elements are less than end
Throws
ClassCastException when the end object cannot be compared with the elements in this TreeSet
NullPointerException when the end object is null and the comparator cannot handle null

public NavigableSet<E> headSet (E end, boolean endInclusive)

Added in API level 9

Returns a view of the portion of this set whose elements are less than (or equal to, if inclusive is true) toElement. The returned set is backed by this set, so changes in the returned set are reflected in this set, and vice-versa. The returned set supports all optional set operations that this set supports.

The returned set will throw an IllegalArgumentException on an attempt to insert an element outside its range.

Parameters
end E: high endpoint of the returned set
endInclusive boolean: true if the high endpoint is to be included in the returned view
Returns
NavigableSet<E> a view of the portion of this set whose elements are less than (or equal to, if inclusive is true) toElement

public E higher (E e)

Added in API level 9

Returns the least element in this set strictly greater than the given element, or null if there is no such element.

Parameters
e E: the value to match
Returns
E the least element greater than e, or null if there is no such element

public boolean isEmpty ()

Added in API level 1

Returns true if this TreeSet has no element, otherwise false.

Returns
boolean true if this TreeSet has no element.

See also:

public Iterator<E> iterator ()

Added in API level 1

Returns an Iterator on the elements of this TreeSet.

Returns
Iterator<E> an Iterator on the elements of this TreeSet.

See also:

public E last ()

Added in API level 1

Returns the last element in this set.

Returns
E the last element.
Throws
NoSuchElementException when this TreeSet is empty

public E lower (E e)

Added in API level 9

Returns the greatest element in this set strictly less than the given element, or null if there is no such element.

Parameters
e E: the value to match
Returns
E the greatest element less than e, or null if there is no such element

public E pollFirst ()

Added in API level 9

Retrieves and removes the first (lowest) element, or returns null if this set is empty.

Returns
E the first element, or null if this set is empty

See also:

public E pollLast ()

Added in API level 9

Retrieves and removes the last (highest) element, or returns null if this set is empty.

Returns
E the last element, or null if this set is empty

See also:

public boolean remove (Object object)

Added in API level 1

Removes an occurrence of the specified object from this TreeSet.

Parameters
object Object: the object to remove.
Returns
boolean true if this TreeSet was modified, false otherwise.
Throws
ClassCastException when the object cannot be compared with the elements in this TreeSet.
NullPointerException when the object is null and the comparator cannot handle null.

public int size ()

Added in API level 1

Returns the number of elements in this TreeSet.

Returns
int the number of elements in this TreeSet.

public SortedSet<E> subSet (E start, E end)

Added in API level 1

Returns a SortedSet of the specified portion of this TreeSet which contains elements greater or equal to the start element but less than the end element. The returned SortedSet is backed by this TreeSet so changes to one are reflected by the other.

Parameters
start E: the start element
end E: the end element
Returns
SortedSet<E> a subset where the elements are greater or equal to start and less than end
Throws
ClassCastException when the start or end object cannot be compared with the elements in this TreeSet
NullPointerException when the start or end object is null and the comparator cannot handle null

public NavigableSet<E> subSet (E start, boolean startInclusive, E end, boolean endInclusive)

Added in API level 9

Returns a view of the portion of this set whose elements range from fromElement to toElement. If fromElement and toElement are equal, the returned set is empty unless fromExclusive and toExclusive are both true. The returned set is backed by this set, so changes in the returned set are reflected in this set, and vice-versa. The returned set supports all optional set operations that this set supports.

The returned set will throw an IllegalArgumentException on an attempt to insert an element outside its range.

Parameters
start E: low endpoint of the returned set
startInclusive boolean: true if the low endpoint is to be included in the returned view
end E: high endpoint of the returned set
endInclusive boolean: true if the high endpoint is to be included in the returned view
Returns
NavigableSet<E> a view of the portion of this set whose elements range from fromElement, inclusive, to toElement, exclusive

public NavigableSet<E> tailSet (E start, boolean startInclusive)

Added in API level 9

Returns a view of the portion of this set whose elements are greater than (or equal to, if inclusive is true) fromElement. The returned set is backed by this set, so changes in the returned set are reflected in this set, and vice-versa. The returned set supports all optional set operations that this set supports.

The returned set will throw an IllegalArgumentException on an attempt to insert an element outside its range.

Parameters
start E: low endpoint of the returned set
startInclusive boolean: true if the low endpoint is to be included in the returned view
Returns
NavigableSet<E> a view of the portion of this set whose elements are greater than or equal to fromElement

public SortedSet<E> tailSet (E start)

Added in API level 1

Returns a SortedSet of the specified portion of this TreeSet which contains elements greater or equal to the start element. The returned SortedSet is backed by this TreeSet so changes to one are reflected by the other.

Parameters
start E: the start element
Returns
SortedSet<E> a subset where the elements are greater or equal to start
Throws
ClassCastException when the start object cannot be compared with the elements in this TreeSet
NullPointerException when the start object is null and the comparator cannot handle null