注:本文大部分文字来自www.javatang.com。作者:Jet Mah
文章链接:http://www.javatang.com/archives/2007/03/05/5722110.html
所谓中文排序就是按照汉语拼音的顺序进行排序,在Java中进行排序其实不需要
自己来写算法,在java.util.Arrays类中提供的sort方法可以直接实现这个功能。
示例如下:
package mypck;
import java.text.Collator;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Locale;
public class Demo {
public static void main(String args[]){
String[] str = {"周宏宾","廖付宾","龚腾","彭冲","赵阳新","王雄","魏开永","汪文杰"};
//Comparator是比较器
java.util.Comparator cptr = Collator.getInstance(Locale.CHINA);
System.out.println("sorted before:");
for(int i= 0; i<str.length; i++)
System.out.print(str+" ");
System.out.println();
//根据特定比较器产生的顺序对指定对象数组进行排序
Arrays.sort(str,cptr);
System.out.println("sorted after :");
for(int i= 0; i<str.length; i++)
System.out.print(str+" ");
}
}
运行结果如下:
sorted before:
周宏宾 廖付宾 龚腾 彭冲 赵阳新 王雄 魏开永 汪文杰
sorted after :
龚腾 廖付宾 彭冲 汪文杰 王雄 魏开永 赵阳新 周宏宾
是实现了预想功能。
ps:
这两天正在看Java国际化和Eclipse插件国际化方面的东西,对java.util.Locale可谓是非常熟悉。
所以这个程序读起来也是顺风顺水。
其它知识点:Comparable,Comparator,Collator(包装了自然语言文本构建搜索和排序等功能)
要实现Java对象的排序,可以实现Compareble或Comparator接口,当然也可两者一同实现。
Collator正是实现了上面两个接口。
Java中文排序
最新推荐文章于 2025-05-21 11:13:57 发布