Java中文排序

注:本文大部分文字来自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正是实现了上面两个接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值