List中英文混合排序

上一篇写了list汉语拼音排序:汉语拼音排序

对排序规则稍加修改即可实现中英文混合排序

    /**   
     * 功能:定义排序规则,实现中英文混合排序   
     *   
     */      
    public  class ComparatorHanYuPinYin implements Comparator<String>{      
        @Override      
        public int compare(String o1, String o2) {      
            return convertToHanYuPinYinString(o1).compareTo(convertToHanYuPinYinString(o2));      
        }      
              
        private String convertToHanYuPinYinString(String str){      
                  
            StringBuilder sb=new StringBuilder();      
            String[] arr=null;    
              
            for(int i=0;i<str.length();i++){      
                arr=PinyinHelper.toHanyuPinyinStringArray(str.charAt(i));      
                if(arr!=null && arr.length>0){      
                    for (String string : arr) {      
                        sb.append(string);      
                    }      
                }
                else{                   
                 sb.append(str.charAt(i));  
              }
          }       

        return sb.toString(); 
      } 
} 


猜你喜欢

转载自blog.csdn.net/gis_zhouda/article/details/80318910