Java中文简单排序

来源:互联网 发布:matlab数据相关性分析 编辑:程序博客网 时间:2024/04/30 09:34

为啥说是简单排序呢,因为这个方法只支持中文排序,不支持中英文混合排序。如果要实现中英文混合排序需要引入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=
啊=
加拿大=
美国=
中国=