java實現中英文按拼音排序

2021-09-02 13:53:43 字數 1488 閱讀 2189

com.belerweb

pinyin4j

2.5.1

public int compare(string o1, string o2)

string pinyin1 = pinyin((char) codepoint1);

string pinyin2 = pinyin((char) codepoint2);// 不是漢字則為null

if (pinyin1 != null && pinyin2 != null)

} else }}

return o1.length() - o2.length();

}/**

* 字元的拼音,多音字就得到第乙個拼音。不是漢字,就return null。

*/private string pinyin(char c)

return pinyins[0];

}我修改後的**:

public int compare(string o1, string o2) else

}//將漢字轉換為拼音,不是漢子則為null

string pinyin1 = pinyin(codepoint1);

string pinyin2 = pinyin(codepoint2);

//不為漢字則與原英文比較

if(pinyin1 == null)

if(pinyin2 == null)

//忽略大小寫比較

if (!pinyin1.tolowercase().equals(pinyin2.tolowercase())) else}}

return o1.length() - o2.length();

}public static void main(string args)

/*** 字元的拼音,多音字就得到第乙個拼音。不是漢字,就return null。

*/private string pinyin(char c)

return pinyins[0];

}測試的資料:

public static void main(string args) ;

string english = "abcdefghijklmnopqrstuvwxyz";

string az = english.split("");

arrstrings =  arrayutils.addall(arrstrings, az);

// 使根據指定比較器產生的順序對指定物件陣列進行排序。

arrays.sort(arrstrings, comparator);

system.out.println(arrayutils.tostring(arrstrings));

arrays.sort(arrstrings, new pinyincomparator());

system.out.println(arrayutils.tostring(arrstrings));

}

js 中英文排序 獲取中文拼音

arr 使用方法 arr.sort a,b localecompare 屬於js的乙個方法,用本地特定的順序來比較兩個字串 用於對比字串之間的大小,根據比較的結果,返回值要麼大於0要麼小於0要麼等於0。結果如下 結論 1.比較內容中有數字則數字優先。按0 9順序排序。2.比較內容如果第乙個字元是一樣...

實現介面中英文

乙個支援多種語言的程式 一般都是由主程式和多個語言包 資源檔案 組成。執行時,根據不同的語言設定 來讀相應的資源檔案。結合自己開發 resourceworkshop net 資源檔案生成器 的體會,覺得應該注意下面幾個問題 1 字型 字型大小的選擇。一種方法,窗體 控制項的字型全部採用預設的字型,即...

js實現中英文合併排序

本文使用localecompare方法實現了對中英文混合排序方法,共實現了兩種排序方法,排序結果如下 對名字進行排序,包括中文 英文和特殊字元 class namesort let enarr abcdefghijklmnopqrstuvwxyz split let zharr 排序好的資料 let...