程式碼
public class HelloWorld { public static void main(String[] args) { String[] vDataTemp = {"xyz", "幸運女神", "鋼彈", "柯南", "哆啦A夢", "TomKuo", "張三", "李四", "123", "abc", "12345"}; String vDataSortTemp; // 按筆畫排序 (TRADITIONAL_CHINESE 按筆畫排序, SIMPLIFIED_CHINESE 按拼音排序) Comparator comparator = Collator.getInstance(Locale.TRADITIONAL_CHINESE); // 方式 1: 用 Java 內建函數 (簡單, 但量大排序較慢) Arrays.sort(vDataTemp, comparator); // 方式 2: 用傳統方法 (程式碼較多點, 但量大排序較快) for( int i = 0; i < vDataTemp.length; i++ ) for( int j = i; j < vDataTemp.length; j++ ) { if( comparator.compare(vDataTemp[i], vDataTemp[j]) > 0 ) { vDataSortTemp = vDataTemp[j]; vDataTemp[j] = vDataTemp[i]; vDataTemp[i] = vDataSortTemp; } } // 顯示陣列結果 for( int i = 0; i < vDataTemp.length; i++ ) System.out.println(vDataTemp[i]); } } // 結果顯示 : 123 12345 abc TomKuo xyz 李四 幸運女神 柯南 張三 鋼彈 哆啦A夢
疑惑
疑惑 1: "哆" 比 "鋼" 筆畫少, 不知為何排序在其後 疑惑 2: 在 Java 排序正常, 但在 Android 排序就變成如下, 亂啊 123 12345 哆啦A夢 李四 鋼彈 柯南 幸運女神 張三 abc TomKuo xyz