descendingIterator() traverses a TreeSet from highest to lowest without reversing or copying the underlying sorted set.
NavigableSet<Integer> set = new TreeSet<>(List.of(10, 30, 20, 40));
Iterator<Integer> it = set.descendingIterator();
StringBuilder sb = new StringBuilder();
while (it.hasNext()) {
sb.append(it.next()).append(" ");
}
System.out.println("Descending order: " + sb.toString().trim());
System.out.println("Set itself unchanged: " + set);
Descending order: 40 30 20 10
Set itself unchanged: [10, 20, 30, 40]
Run this yourself in the Online Java Compiler, spin up a live REST API in the API Sandbox, or practise with Java interview questions.
Published 2026-09-27