Hi, my code is like this:
TreeSet<String> ts=new TreeSet<String>();
ts.add("Testtxt");
ts.add("Testxml");
ts.add("docdoc");
ts.add("ePeoplexml");
ts.add("fantasyxlsx");
ts.add("idaddedgif");
ts.add("idaddedrtf");
System.out.println("Tree set :: "+ts);
Output:
Tree set :: [Testtxt, Testxml, docdoc, ePeoplexml, fantasyxlsx, idaddedgif, idaddedrtf]
It's not sorting all strings in alphabetical order.Can any one help how to achieve an ascending order of the strings in treeset
.
Thanks Madhu.
The sorting is fine. It is done in case-sensitive manner. Since unicode code point of T
comes before d
, so, Testtxt
comes before docdoc
in sorted set.
Since you want to do case insensitive sorting, you can use a pre-defined static CASE_INSENSITIVE comparator defined in String
class. Instantiate your TreeSet
like this:
TreeSet<String> ts=new TreeSet<String>(String.CASE_INSENSITIVE_ORDER);
来源:https://stackoverflow.com/questions/18333154/alphabetical-sorting-in-treeset-not-working