JAVA使用Collator对中文排序
首先创建一个集合
public static List<String> init() {
List<String> list = new ArrayList<String>();
list.add("李方");
list.add("郭云2");
list.add("郭云3");
list.add("赵飞");
list.add("马路");
list.add("xxx");
list.add("xxy");
list.add("432");
return list;
}
接下来开始排序
public static void sort() {
List<String> list = init();
Comparator<String> comparator = new Comparator<String>() {
public int compare(String o1, String o2) {
Collator collator = Collator.getInstance();
return collator.getCollationKey(o1).compareTo(
collator.getCollationKey(o2));
}
};
Collections.sort(list, comparator);
System.out.println(list);
}
输出结果:
[432, xxx, xxy, 郭云2, 郭云3, 李方, 马路, 赵飞]
数字排在最前,英文字母其次,汉字则按照拼音进行排序。

浙公网安备 33010602011771号