美文网首页
59.Java推荐使用Collator类进行中文排序

59.Java推荐使用Collator类进行中文排序

作者: ggr | 来源:发表于2018-03-11 10:54 被阅读0次

    关于java中的涉及到的一些中文排序的问题一直都是一个很头疼的问题,因为java采用UNICODE编码,而中文的UNICODE编码来源于GB18030,GB18030有时从GB2312发展上来的,gb2312包含了7000多个字符的字符集,按照拼音排序,之后的GBK,GB18030都是慢慢扩充的,所以要上他们完整排序难度很大。一般情况下我们使用的是Collator进行处理中文排序,Collator类的使用如下:

    public class Client {
    
        public static void main(String[] args) throws Exception {
    
            String[] words = {"阿婷(A)","胖子(P)","猪大侠(Z)"};
    
            //定义一个中文排序器
            Comparator c = Collator.getInstance(Locale.CHINA);
    
            Arrays.sort(words,c);
    
            for(int i=0;i<words.length;i++){
                System.out.println("i"+i+"-->"+words[i]);
            }
        }
    
    
    

    当然如果你非要追求极致的话,可以使用一些开源的项目比如pinyin4j把汉字转换为拼音再自定义排序。如果排序不是一个关键算法,还是使用Collator类即可。

    相关文章

      网友评论

          本文标题:59.Java推荐使用Collator类进行中文排序

          本文链接:https://www.haomeiwen.com/subject/zxpvfftx.html