Java / Java 21 Collection Framework features Interview questions
What is the difference between SequencedSet and NavigableSet?
SequencedSet is the more general interface, guaranteeing only that the set has some defined encounter order and exposing first/last/reversed operations for it.
NavigableSet extends SequencedSet and adds much richer, sorted-order-specific navigation - methods like ceiling(e), floor(e), higher(e), lower(e), and range views like headSet()/tailSet()/subSet() - all of which depend on the elements actually being comparable and sorted.
| SequencedSet | NavigableSet |
| Any defined order (e.g. insertion order) | Sorted order specifically |
| getFirst(), getLast(), reversed() | All of the above, plus ceiling(), floor(), subSet(), etc. |
| Implemented by LinkedHashSet | Implemented by TreeSet |
So LinkedHashSet can be a SequencedSet without being sorted at all, but any NavigableSet is always a SequencedSet as well, since sorted order is itself a form of defined encounter order.
More Related questions...