在树集中按字母顺序排序不起作用

时间:2013-08-20 10:50:02

标签: java sorting collections treeset

嗨,我的代码是这样的:

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);

输出:

Tree set :: [Testtxt, Testxml, docdoc, ePeoplexml, fantasyxlsx, idaddedgif, idaddedrtf]

它不是按字母顺序排序所有字符串。任何人都可以帮助如何在treeset中实现字符串的升序。

由于 马杜。

1 个答案:

答案 0 :(得分:25)

排序很好。它以区分大小写的方式完成。由于T的unicode代码点位于d之前,因此Testtxt位于排序集中的docdoc之前。

由于您要进行不区分大小写排序,因此可以使用String类中定义的预定义静态CASE_INSENSITIVE比较器。像这样实例化TreeSet

TreeSet<String> ts=new TreeSet<String>(String.CASE_INSENSITIVE_ORDER);