Java中文汉字排序.doc

Java中文汉字排序.doc

ID:50369405

大小:33.00 KB

页数:10页

时间:2020-03-08

Java中文汉字排序.doc_第1页
Java中文汉字排序.doc_第2页
Java中文汉字排序.doc_第3页
Java中文汉字排序.doc_第4页
Java中文汉字排序.doc_第5页
资源描述:

《Java中文汉字排序.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、//Collator类是用来执行区分语言环境的String比较的,这里选择使用CHINA  Comparatorcmp=Collator.getInstance(java.util.Locale.CHINA);  TreeMaptree=newTreeMap(cmp);  String[]arr={"张三","李四","王五"};  //使根据指定比较器产生的顺序对指定对象数组进行排序。  Arrays.sort(arr,cmp);  for(inti=0;i

2、(arr[i]);    另:  示例文本:  String[]test=newString[]{  "作业",  "测试",  "test",  "我们",  "。空",  "镂空",  "[",  "浏",  "皙"  };  jdk版本:  1.5.6  

3、开发平台:  Eclipse3.1  关键字:中文排序  概述  我们在应用程序中可能会经常遇到对中文排序的问题,例如姓名列表,词汇表等等。对中文排序,我们使用比较多的是根据汉语拼音发音来确定顺序。  我们可能会经常使用  java.util.Set  接口,  java.util.Arrays.sort((T[]a,Comparatorc))  等类或方法对含有中文字符的对象进行排序,但是这些在默认情况下都是调用  String.CompareTo(String)  方法,这个方法是比较2个字符的codepoi

4、ntvalue,如果第一个字符的值小于第二个,则在排序结果中第一个会在前面,反之亦然。  java.text.Collator  接口及其实现类  其实java中提供了和语言相关的类,即Collator接口及其实现类。  java.text.RuleBasedCollator  是一个具体类,它实现了Comparator接口中的compare(Object,Object)方法。RuleBasedCollator根据根据特定语言的默认规则比较字符,也可以按照指定的规则来比较,请参阅javaAPI获取此类的详细信息。如果我们需要对一个

5、有中文的数组进行排序,则可以使用这个类。请看如下示例代码:  importjava.util.*;  importjava.text.*;  publicclassTest  {  String[]test=newString[]{  "作业",  "测试",  "test",  "我们",  "。空",  "镂空",  "[",  "浏",  "皙"  };  java.util.Arrays.sort(test,  (RuleBasedCollator)Collator.getInstance(Locale.CHINA)); 

6、 System.out.println("============");  for(Stringkey:test)  System.out.println(key);  }  以上代码的输出结果为:  ============  [  test  。空  测试  我们  作业  浏  镂空  皙  大家可能会发现只有一部分汉字是按照汉语拼音排序了,还有几个没有。  问题分析:  GB2312:  在简体中文中我们使用比较多的字符集是GB2312-80,简称为GB2312,这个字符集包含了目前最常用的汉字共计6736个。其中的汉字分

7、为两大类:  常用汉字  次常用汉字  常用汉字按照汉语拼音来排序,而次常用汉字按照笔画部首进行排序。  简体汉字在Unicode中一般是按照gb2312的码点值的顺序来放置的,所以如果是常用汉字java就能够很准确的进行排序,但如果是次常用汉字,则就会出现问题。在以上示例中,"镂","皙"属于次常用字。  解决方案:  RuleBasedCollator类getRules()方法可以返回对应语言的规则设置。简体中文对应的规则是gb2312所对应的字符。  我们可以把其中的全部汉字提取出来  对这些汉字重新排序  利用RuleBa

8、sedCollator(Stringrules)构造器新建一个定制的RuleBasedCollator  参考代码  在以下的代码中,我把排过序的汉字直接作为String对象放在类里面了,如果要让代码变得简洁一些,则可以把完整的规则(特殊字符+排序

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。