java.util · java.base · since Java 1.2

TreeSet

declaration
public class TreeSet<E> extends AbstractSet<E>
        implements NavigableSet<E>, Cloneable, Serializable

Red-black-tree set: always sorted, O(log n) operations, and NavigableSet range/nearest queries (floor, ceiling, subSet).

Key methods

E first() / E last()Extremes in sort order — throws NoSuchElementException if empty.
E floor(E) / E ceiling(E)Nearest ≤ / ≥ element in sort order, or null.
E lower(E) / E higher(E)Nearest strictly < / > element, or null.
E pollFirst() / E pollLast()Retrieve-and-remove the extremes — null-returning, not throwing.
NavigableSet<E> headSet/tailSet/subSet(…)Range views, live and write-through; boolean flags control endpoint inclusion.
NavigableSet<E> descendingSet()Reverse-order view backed by the same tree.