java.util · java.base · since Java 1.2
TreeSet
public class TreeSet<E> extends AbstractSet<E>
implements NavigableSet<E>, Cloneable, SerializableRed-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. |