TreeSet and TreeMap keep their elements (or keys) sorted at all times, using a balanced tree internally, so add, remove and lookup take time proportional to the logarithm of the size. By default they use natural ordering, meaning the elements' compareTo method: numbers ascending, strings in Unicode order (digits, then uppercase, then lowercase), dates chronologically. You can pass a Comparator to the constructor to use a different order, such as new TreeSet<>(Comparator.reverseOrder()).
Keep reading for free
Create a free StudyToCert account to read the rest of this lesson: 6 more sections, 4 key terms, a real-world example, an exam tip and self-check questions. Every lesson, lab and practice test is free with an account.