TreeSet class

TreeSet extends AbstractSet and implements the NavigableSet interface. It creates a collection that uses a tree for storage. Objects are stored in sorted, ascending order.

TreeSet is a generic class that has this declaration:

class TreeSet<E>

E specifies the type of objects that the set will hold.

A demonstration of a tree set with String elements sorted according to their natural ordering.

 
import java.util.Set;
import java.util.TreeSet;

public class Main {
  public static void main(String[] args) {
    Set<String> ss = new TreeSet<String>();
    String[] fruits = { "apples", "pears", "grapes", "bananas", "kiwis" };
    for (String fruit : fruits){
      ss.add(fruit);
    }
    for (String s : ss){
      System.out.print(s + " ");
    }
  }
}
  

Output:


apples bananas grapes kiwis pears

Constructor

TreeSet()
Creates a new, empty tree set, sorted according to the natural ordering of its elements.
TreeSet(Collection<? extends E> c)
Creates a new tree set containing the elements in the specified collection, sorted according to the natural ordering of its elements.
TreeSet(Comparator<? super E> comparator)
Creates a new, empty tree set, sorted according to the specified comparator.
TreeSet(SortedSet<E> s)
Creates a new tree set containing the same elements and using the same ordering as the specified sorted set.

The first form constructs an empty tree set that will be sorted in ascending order according to the natural order of its elements. The second form builds a tree set that contains the elements of c.

The third form constructs an empty tree set that will be sorted according to the comparator specified by comp. The fourth form builds a tree set that contains the elements of ss.

Add elements to a TreeSet

boolean add(E e)
Adds the specified element to this set if it is not already present.
boolean addAll(Collection<? extends E> c)
Adds all of the elements in the specified collection to this set.

Get the least and greatest element in 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.
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.
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.
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.

Clear a TreeSet

void clear()
Removes all of the elements from this set.

Clone a TreeSet

Object clone()
Returns a shallow copy of this TreeSet instance.

Get the comparator used by this TreeSet

Comparator<? super E> comparator()
Returns the comparator used to order the elements in this set, or null if this set uses the natural ordering of its elements.

If this TreeSet contains a certain element

boolean contains(Object o)
Returns true if this set contains the specified element.

Get the descending iterator and descending set

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.

The first and last element in this TreeSet

E first()
Returns the first (lowest) element currently in this set.
E last()
Returns the last (highest) element currently in this set.

Get the head set and tail set

SortedSet<E> headSet(E toElement)
Returns a view of the portion of this set whose elements are strictly less than toElement.
NavigableSet<E> headSet(E toElement, boolean inclusive)
Returns a view of the portion of this set whose elements are less than (or equal to, if inclusive is true) toElement.
SortedSet<E> tailSet(E fromElement)
Returns a view of the portion of this set whose elements are greater than or equal to fromElement.
NavigableSet<E> tailSet(E fromElement, boolean inclusive)
Returns a view of the portion of this set whose elements are greater than (or equal to, if inclusive is true) fromElement.

Is this TreeSet empty

boolean isEmpty() Returns true if this set contains no elements.

Get an iterator over the elements in this set in ascending order

Iterator<E> iterator()
Returns an iterator over the elements in this set in ascending order.

Get and remove first and last element in this tree

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.

Remove element from TreeSet

boolean remove(Object o)
Removes the specified element from this set if it is present.

Get the size of this TreeSet

int size()
Returns the number of elements in this set (its cardinality).

Get a subset from this TreeSet

NavigableSet<E> subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
Returns a view of the portion of this set whose elements range from fromElement to toElement.
SortedSet<E> subSet(E fromElement, E toElement)
Returns a view of the portion of this set whose elements range from fromElement, inclusive, to toElement, exclusive.

Revised from Open JDK source code

Home 
  Java Book 
    Collection  

TreeSet:
  1. TreeSet class
  2. Create TreeSet objects
  3. Add elements to a TreeSet
  4. Get the least and greatest element in this TreeSet'>
  5. The first and last element in this TreeSet
  6. Get the head set and tail set
  7. Remove element from TreeSet
  8. Get the size of this TreeSet
  9. Get a subset from this TreeSet