要实现汉字按首字母排序,主要是设置语言环境,如下语句设置语言环境:
这里用到了Collator类,此类实现了Comparator接口,用他的getInstance就可以用指定的语言环境来构造一个Collator对象:
然后用如下语句创建Comparator:
Comparator com=Collator.getInstance(java.util.Locale.CHINA);
要注意的是Comparator里面的泛型类型一定要是Object类型,因为Collator类实现的Comparator接口里面传入的对象是Object:
完整的实现代码如下:
import java.text.Collator;
import java.util.*;
import java.util.Comparator;
public class cpm {
public static void main(String[] args) {
// TODO Auto-generated method stub
Comparator com=Collator.getInstance(java.util.Locale.CHINA);
String[] newArray={"中山","汕头","广州","安庆","阳江","南京","武汉","北京","安阳","北方"};
List list = Arrays.asList(newArray);
Collections.sort(list, com);
for(String i:list){
System.out.print(i+" ");
}
}
}
输出结果是:
安庆 安阳 北方 北京 广州 南京 汕头 武汉 阳江 中山