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 smallest element bigger than or equal to the specified one, or null if 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 a descending iterator of this set.
NavigableSet<E> descendingSet()
Returns a reverse order view of this set.
E first()
Returns the first element in this set.
E floor(E e)
Returns the biggest element less than or equal to the specified one, or null if 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 NavigableSet of the specified portion of this set which contains elements less than (or equal to, depends on endInclusive) the end element.
E higher(E e)
Returns the smallest element bigger than the specified one, or null if 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 biggest element less than the specified one, or null if no such element.
E pollFirst()
Deletes and returns the smallest element, or null if the set is empty.
E pollLast()
Deletes and returns the biggest element, or null if the 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 NavigableSet of the specified portion of this set which contains elements greater (or equal to, depends on startInclusive) the start element but less than (or equal to, depends on endInclusive) the end element.
NavigableSet<E> tailSet(E start, boolean startInclusive)
Returns a NavigableSet of the specified portion of this set which contains elements greater (or equal to, depends on startInclusive) the start element.
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 smallest element bigger than or equal to the specified one, or null if no such element.

Parameters
e the specified element
Returns
  • the smallest element bigger than or equal to the specified one, or null if 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 a descending iterator of this set.

Returns
  • the descending iterator

public NavigableSet<E> descendingSet ()

Since: API Level 9

Returns a reverse order view of this set.

Returns
  • the reverse order view
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 biggest element less than or equal to the specified one, or null if no such element.

Parameters
e the specified element
Returns
  • the biggest element less than or equal to the specified one, or null if 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 NavigableSet of the specified portion of this set which contains elements less than (or equal to, depends on endInclusive) the end element. The returned NavigableSet is backed by this set so changes to one are reflected by the other.

Parameters
end the end element
endInclusive true if the end element is in the returned set
Returns
  • the subset

public E higher (E e)

Since: API Level 9

Returns the smallest element bigger than the specified one, or null if no such element.

Parameters
e the specified element
Returns
  • the smallest element bigger than the specified one, or null if 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 biggest element less than the specified one, or null if no such element.

Parameters
e the specified element
Returns
  • the biggest element less than the specified one, or null if no such element

public E pollFirst ()

Since: API Level 9

Deletes and returns the smallest element, or null if the set is empty.

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

public E pollLast ()

Since: API Level 9

Deletes and returns the biggest element, or null if the set is empty.

Returns
  • the biggest element, or null if the 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 NavigableSet of the specified portion of this set which contains elements greater (or equal to, depends on startInclusive) the start element but less than (or equal to, depends on endInclusive) the end element. The returned NavigableSet is backed by this set so changes to one are reflected by the other.

Parameters
start the start element
startInclusive true if the start element is in the returned set
end the end element
endInclusive true if the end element is in the returned set
Returns
  • the subset

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

Since: API Level 9

Returns a NavigableSet of the specified portion of this set which contains elements greater (or equal to, depends on startInclusive) the start element. The returned NavigableSet is backed by this set so changes to one are reflected by the other.

Parameters
start the start element
startInclusive true if the start element is in the returned set
Returns
  • the subset

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