.
import java.text.Collator;
import java.util.Comparator;
public class ChineseCharComp implements Comparator {
@Override
public int compare(Object o1, Object o2) {
Collator cllator = Collator.getInstance(java.util.Locale.CHINA);
if (cllator.compare(o1, o2) < 0)
return -1;
else if (cllator.compare(o1, o2) > 0)
return 1;
else
return 0;
}
}
Main.java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class Main extends Activity {
private static final String TAG = "Main";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ArrayList list = new ArrayList();
list.add("中国");
list.add("加拿大");
list.add("美国");
list.add("德国");
list.add("A");
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("more");
list.add("啊");
Comparator cmp = new ChineseCharComp();
Collections.sort(list, cmp);
Iterator iter = list.iterator();
while (iter.hasNext()) {
Log.d(TAG, "----" + iter.next());
}
}
}
结果?自己试试把