Alphabetical sorting in treeset not working

橙三吉。 提交于 2019-12-05 01:15:51

问题


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.


回答1:


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!