现在的位置: 首页 > 综合 > 正文

Java中文简单排序

2018年09月06日 ⁄ 综合 ⁄ 共 645字 ⁄ 字号 评论关闭

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

抱歉!评论已关闭.