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, 李方, 马路, 赵飞]
数字排在最前,英文字母其次,汉字则按照拼音进行排序。