javasortinglinkedhashset

Sorting a LinkedHashSet


I'm wondering if it's possible to sort a LinkedHashSet. I've tried the statement

Collections.sort((List<Comparable> paragraph);

However, that just throws an error that it cannot be casted into a List. Is there a way of doing this, or should I use another data structure?


Solution

  • You should use a SortedSet such as TreeSet or ConcurrentSkipListSet if you care about ordering based on comparison (e.g., sorted order).

    A LinkedHashSet preserves order based on insertion order.

    If you really want to use Collections.sort you can convert the LHS into a List by actually constructing a List (though the question doesn't tell us the type of paragraph so I'll assume it is String)

    List<String> listParagraph = new ArrayList<String>(paragraph);
    Collections.sort(listParagraph)
    

    but that's probably not the best approach.