对数组按中文名称排序
- Arrays类中的sort()方法一般是按照数组中数值的大小或字母的顺序来进行排序的,但该方式并不适用于中文。
- Arrays类中的sort(T[]a,Comparator<?super T>c)
,他可以根据指定比较器(Comparator)产生的顺序对对数组对象进行排序
- 可以通过方法Collator.getInstance()
实现对Comparator对象的获取,其中参数java.util.Locale.CHINA
表示按中文语言进行排序
package Second;
import java.text.Collator;
import java.util.Arrays;
import java.util.Comparator;
public class SortByChinese
{
@SuppressWarnings({ "unchecked", "rawtypes" })
public static void main(String[] args)
{
String [] str = {"孙豪","王翔","刘辰鑫","李梓豪"};
Arrays.parallelSort(str);
for(int i = 0;i < str.length;i++)
{
System.out.println(str[i]);
}
System.out.println("---------------------------------------------------------");
Comparator com = Collator.getInstance(java.util.Locale.CHINA);
Arrays.parallelSort(str,com);
for(int i = 0;i < str.length;i++)
{
System.out.println(str[i]);
}
}
}