国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Android - Android實現中文按拼音排序方法

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

2021-06-28 15:58gqdy365 Android

這篇文章主要為大家詳細介紹了Android實現中文按拼音排序方法,很實用,感興趣的小伙伴們可以參考一下

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

?
1
2
pinyincomparator comparator = new pinyincomparator();
    collections.sort(strlist, comparator);

其中strlist中放置了數據,可以是任何對象,但要對pinyincomparator中的compare進行對應的修改,我demo中為string[]。

2、pinyincomparator排序類:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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;
  }
}

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲精品久久久久久久久久久久久 | 欧美成人免费在线观看 | 中文字幕在线免费视频 | 国产成人高清在线 | 精精国产xxxx视频在线 | 日本一区二区三区免费观看 | 色香蕉久久 | 国产精品久久九九 | 亚洲欧美观看 | 国产三级一区二区 | 99热精品视 | 一区二区三区高清视频在线观看 | 这里只有精品国产 | 色视频在线免费观看 | 亚洲一区二区三区免费观看 | 欧美在线a | 色综合天天综合网国产成人网 | 中文字幕亚洲一区二区三区 | www.久草.com| 久久综合伊人 | 亚洲激情在线 | 在线观看日韩精品 | 精品国偷自产国产一区 | 日韩在线成人 | av在线干| 亚洲黄色自拍 | 在线一区观看 | 国产超碰人人爽人人做人人爱 | 欧美做爰一区二区三区 | 蜜桃av一区 | 成人在线国产 | 亚洲国产91| www.亚洲精品 | 精品久久久久久久久久久久久久 | av网站免费观看 | 中文字幕视频在线观看 | 亚洲天堂一区二区 | 在线一区 | 成人在线小视频 | 黄色一级片免费播放 | 久久人人爽爽爽人久久久 |