为啥说是简单排序呢,因为这个方法只支持中文排序,不支持中英文混合排序。如果要实现中英文混合排序需要引入pinyin4j-2.5.0.jar
ArrayList list = new ArrayList(); list.add("中国"); list.add("加拿大"); list.add("5577.com"); list.add("美国"); list.add("A"); list.add("more"); list.add("啊"); Comparator cmp = new ChineseCharComp(); Collections.sort(list, cmp); Iterator iter = list.iterator(); while (iter.hasNext()) { System.out.println(iter.next() + "="); }
public static class ChineseCharComp implements Comparator { public int compare(Object o1, Object o2) { Collator myCollator = Collator.getInstance(java.util.Locale.CHINA); if (myCollator.compare(o1, o2) < 0) return -1; else if (myCollator.compare(o1, o2) > 0) return 1; else return 0; } }
输出结果:
5577.com=
A=
more=
啊=
加拿大=
美国=
中国=