- 默认的
Collection.sort()
是按照ASCII
码排序, 不过, 有第二个重载方法, 第二个参数可以传入Comparator
对象 java.text.Collator
可以用于本地语言排序, 自身已经实现Comparator
接口.Collator.getInstance(Locale.CHINA)
获取到我们中文的Collator
实例
/**
* 按照拼音首字母排序
*/
@Test
public void test() {
List<String> data = new ArrayList<>(Arrays.asList("上海", "天津", "北京", "深圳", "广州", "成都", "西安", "武汉", "郑州", "邯郸", "a", "z", "A", "Z"));
Collator collator = Collator.getInstance(Locale.CHINA);
Collections.sort(data, collator);
for (String str : data) {
System.out.print(str + " ");
}
}