要实现“按中文首字母排序”操作,可以使用java.util包下的Arrays类的sort()函数。
Arrays类包含用来操作数组(比如排序和搜索)的各种方法。
比如对于排序操作的sort()函数,重载了多种静态函数以适应不同情况下的需要。
以下,我们应用最后一个重载函数来实现“按中文首字母排序”:
sort(T[] a, Comparator<? super T> c)
根据指定比较器产生的顺序对指定对象数组进行排序。
代码举例:
package com.app.test;
import java.text.Collator;
import java.util.Arrays;
import java.util.Comparator;
/*
* java实现按中文首字母排序的方式
*/
public class TestDemo01 {
public static void main(String[] args) {
// Collator 类是用来执行区分语言环境的 String 比较的,这里选择使用CHINA
Comparator comparator = Collator.getInstance(java.util.Locale.CHINA);
String[] arrStrings = { "乔峰", "郭靖", "杨过", "张无忌","韦小宝" };
// 使根据指定比较器产生的顺序对指定对象数组进行排序。
Arrays.sort(arrStrings, comparator);
for (int i = 0; i < arrStrings.length; i++)
System.out.println(arrStrings[i]);
}
}
执行结果:
01.郭靖
02.乔峰
03.韦小宝
04.杨过
05.张无忌
至此,我们即完成了“按中文首字母排序”操作。