上一篇写了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();
}
}