国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現中文按拼音排序方法

2020-01-02 07:00:07
字體:
來源:轉載
供稿:網友

本文的需求是將一組數據按某一字段中文拼音排序,分享給大家Android實現中文按拼音排序方法,供大家參考,具體內容如下
1、Test測試類:

PinyinComparator comparator = new PinyinComparator();     Collections.sort(strList, comparator); 

其中strList中放置了數據,可以是任何對象,但要對PinyinComparator中的compare進行對應的修改,我Demo中為String[]。

2、PinyinComparator排序類:

public class PinyinComparator implements Comparator<Object> {   /**    * 比較兩個字符串    */   public int compare(Object o1, Object o2) {     String[] name1 = (String[]) o1;     String[] name2 = (String[]) o2;     String str1 = getPingYin(name1[0]);     String str2 = getPingYin(name2[0]);     int flag = str1.compareTo(str2);     return flag;   }    /**    * 將字符串中的中文轉化為拼音,其他字符不變    *    * @param inputString    * @return    */   public String getPingYin(String inputString) {     HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();     format.setCaseType(HanyuPinyinCaseType.LOWERCASE);     format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);     format.setVCharType(HanyuPinyinVCharType.WITH_V);      char[] input = inputString.trim().toCharArray();// 把字符串轉化成字符數組     String output = "";      try {       for (int i = 0; i < input.length; i++) {         // //u4E00是unicode編碼,判斷是不是中文         if (java.lang.Character.toString(input[i]).matches(             "[//u4E00-//u9FA5]+")) {           // 將漢語拼音的全拼存到temp數組           String[] temp = PinyinHelper.toHanyuPinyinStringArray(               input[i], format);           // 取拼音的第一個讀音           output += temp[0];         }         // 大寫字母轉化成小寫字母         else if (input[i] > 'A' && input[i] < 'Z') {           output += java.lang.Character.toString(input[i]);           output = output.toLowerCase();         }         output += java.lang.Character.toString(input[i]);       }     } catch (Exception e) {       Log.e("Exception", e.toString());     }     return output;   } } 

以上就是本文的全部內容,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黎平县| 崇左市| 大新县| 库尔勒市| 大理市| 尉犁县| 会同县| 布拖县| 根河市| 项城市| 海晏县| 双鸭山市| 佛坪县| 蛟河市| 集安市| 施秉县| 湘潭市| 宕昌县| 英吉沙县| 宁明县| 绍兴县| 搜索| 东乡县| 富顺县| 揭东县| 神农架林区| 大足县| 桐乡市| 太保市| 大竹县| 晋宁县| 河曲县| 屏东县| 高雄市| 奈曼旗| 瑞丽市| 平阳县| 朝阳区| 莱州市| 吉林市| 新平|