Can someone explain how come a SortedSet is sorted and not ordered? It seems counter inutitive that something should be sorted and not ordered to me (as sorted means that elements are comparatively put in order does it not? If the elements are sorted how can this be helpful if the set is not ordered? Also which Collections are ordered and which are sorted?

According to the Sun Java Tutorial: The SortedSet Interface A SortedSetis a Setthat maintains its elements in ascending order, sorted according to the elements' natural order, or according to a Comparator provided at SortedSet creation time. (Natural order and Comparators are discussed in the previous section, on Object Ordering.) In addition to the normal Set operations, the Set interface provides operations for: Range-view: Performs arbitrary range operations on the sorted set. Endpoints: Returns the first or last element in the sorted set. Comparator access: Returns the Comparator used to sort the set (if any). The SortedSet interface is shown below: public interface SortedSet extends Set { // Range-view SortedSet subSet(Object fromElement, Object toElement); SortedSet headSet(Object toElement); SortedSet tailSet(Object fromElement); // Endpoints Object first(); Object last(); // Comparator access Comparator comparator(); } http://java.sun.com/docs/books/tutorial/collections/interfaces/sorted-set.html

"JavaRanch, where the deer and the Certified play" - David O'Meara

You can say Sorting is a special kind of Ordering. SortedSet keeps the elements ordered accoring to their ascending natural order or the order governed by the comparator as explanied above by Cindy. A List on the other hand keeps the elements ordered. ie. in the sequence they were added. You can be sure of the sequence of elements in a list but you can't be sure what sequence the elements are stored in a Set so it is not ordered. HTH, Paul.