`Set`interface, as discussed in the Java Data Structures document, is no more than a

`Collection`in which it is assumed that elements are not duplicated. Additionally Java defines two other interfaces

`SortedSet`and

`NavigableSet`which extend

`Set`. There are three

`Set`classes of interest to us:

`HashSet`: An implementation of`Set`in which no particular ordering of elements is maintained.`LinkedHashSet`: An implementation of`Set`in which, like a`LinkedList`, the the**entry**order of elements is maintained.`TreeSet`: An implementation of`NavigableSet`in which the**sorted**order of the elements is maintained.

### SortedSet Interface

Comparator<? super E> comparator() Returns the comparator used to order the elements in this set, orAdditionally, it is assumed that the functionnullif this set uses the natural ordering of its elements. E first() Returns the first (lowest) element currently in this set. E last() Returns the last (highest) element currently in this set. SortedSet<E> headSet(E toElement) Returns a view of the portion of this set whose elements are strictly less thantoElement. SortedSet<E> tailSet(E fromElement) Returns a view of the portion of this set whose elements are greater than or equal tofromElement. SortedSet<E> subSet(E fromElement, E toElement) Returns a view of the portion of this set whose elements range fromfromElement, inclusive, totoElement, exclusive.

Iterator<E> iterator()returns an

`Iterator`object which traverses the list in order from lowest to highest elements.

### NavigableSet Interface

The NavigableSet interface is an extension of SortedSet which adds these features:E ceiling(E e) Returns the least element in this set greater than or equal to the given element, or null if there is no such element. E floor(E e) Returns the greatest element in this set less than or equal to the given element, ornullif there is no such element. E higher(E e) Returns the least element in this set strictly greater than the given element, or null if there is no such element. E lower(E e) Returns the greatest element in this set strictly less than the given element, or null if there is no such element. E pollFirst() Retrieves and removes the first (lowest) element, or returns null if this set is empty. E pollLast() Retrieves and removes the last (highest) element, or returns null if this set is empty. IteratordescendingIterator() Returns an iterator over the elements in this set, in descending order. NavigableSet descendingSet() Returns a reverse order view of the elements contained in this set. NavigableSet headSet(E toElement, boolean inclusive) Returns a view of the portion of this set whose elements are less than (or equal to, if inclusive is true) toElement. NavigableSettailSet(E fromElement, boolean inclusive) Returns a view of the portion of this set whose elements are greater than (or equal to, if inclusiveis true)fromElement. NavigableSetsubSet( E fromElement, boolean fromInclusive, E toElement, boolean toInclusive) Returns a view of the portion of this set whose elements range from fromElementtotoElement.