public class

TreeSet

extends AbstractSet<E>
implements Serializable Cloneable NavigableSet<E>
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.lang.Iterable
From interface java.util.Collection
From interface java.util.NavigableSet
From interface java.util.Set
From interface java.util.SortedSet

Public Constructors

public TreeSet ()

Since: API Level 1

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

public TreeSet (Collection<? extends E> collection)

Since: API Level 1

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

Parameters
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)

Since: API Level 1

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

Parameters
comparator the comparator to use.

public TreeSet (SortedSet<E> set)

Since: API Level 1

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

Parameters
set the SortedSet of elements to add.

Public Methods

public boolean add (E object)

Since: API Level 1

Adds the specified object to this TreeSet.

Parameters
object the object to add.
Returns
  • 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)

Since: API Level 1

Adds the objects in the specified collection to this TreeSet.

Parameters
collection the collection of objects to add.
Returns
  • 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)

Since: 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 the value to match
Returns
  • the least element greater than or equal to e, or null if there is no such element

public void clear ()

Since: API Level 1

Removes all elements from this TreeSet, leaving it empty.

See Also

public Object clone ()

Since: API Level 1

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

Returns
  • a shallow copy of this TreeSet.
See Also

public Comparator<? super E> comparator ()

Since: API Level 1

Returns the comparator used to compare elements in this TreeSet.

Returns
  • a Comparator or null if the natural ordering is used

public boolean contains (Object object)

Since: API Level 1

Searches this TreeSet for the specified object.

Parameters
object the object to search for.
Returns
  • 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 ()

Since: API Level 9

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

Returns
  • an iterator over the elements in this set, in descending order

public NavigableSet<E> descendingSet ()

Since: 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
  • a reverse order view of this set
See Also

public E first ()

Since: API Level 1

Returns the first element in this set.

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

public E floor (E e)

Since: 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 the value to match
Returns
  • the greatest element less than or equal to e, or null if there is no such element

public SortedSet<E> headSet (E end)

Since: 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 the end element
Returns
  • 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)

Since: 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 high endpoint of the returned set
endInclusive true if the high endpoint is to be included in the returned view
Returns
  • 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)

Since: 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 the value to match
Returns
  • the least element greater than e, or null if there is no such element

public boolean isEmpty ()

Since: API Level 1

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

Returns
  • true if this TreeSet has no element.
See Also

public Iterator<E> iterator ()

Since: API Level 1

Returns an Iterator on the elements of this TreeSet.

Returns
  • an Iterator on the elements of this TreeSet.
See Also

public E last ()

Since: API Level 1

Returns the last element in this set.

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

public E lower (E e)

Since: 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 the value to match
Returns
  • the greatest element less than e, or null if there is no such element

public E pollFirst ()

Since: API Level 9

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

Returns
  • the first element, or null if this set is empty
See Also

public E pollLast ()

Since: API Level 9

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

Returns
  • the last element, or null if this set is empty
See Also

public boolean remove (Object object)

Since: API Level 1

Removes an occurrence of the specified object from this TreeSet.

Parameters
object the object to remove.
Returns
  • 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 ()

Since: API Level 1

Returns the number of elements in this TreeSet.

Returns
  • the number of elements in this TreeSet.

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

Since: 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 the start element
end the end element
Returns
  • 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)

Since: 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 low endpoint of the returned set
startInclusive true if the low endpoint is to be included in the returned view
end high endpoint of the returned set
endInclusive true if the high endpoint is to be included in the returned view
Returns
  • 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)

Since: 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 low endpoint of the returned set
startInclusive true if the low endpoint is to be included in the returned view
Returns
  • a view of the portion of this set whose elements are greater than or equal to fromElement

public SortedSet<E> tailSet (E start)

Since: 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 the start element
Returns
  • 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