程式碼
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
