精品主页 | 软件下载 | 系统下载 | 精品导航| 精彩图片 | 转帖工具 | 版主申请 | 影视下载
发新话题
打印

Java编程中怎样实现中文排序

Java编程中怎样实现中文排序

  


                    第一种情况:









<OL>


Comparatorcmp=Collator.getInstance(java.util.Locale.CHINA);





String[]arr={"张三","李四","王五","刘六"};


Arrays.sort(arr,cmp);


for(inti=0;i&lt;arr.length;i  )


System.out.println(arr); </OL>



第二种情况:



//ComparableBean.java

importjava.text.CollationKey;

importjava.text.Collator;

importjava.text.RuleBasedCollator;

importjava.util.Comparator;



publicclassComparableBean{

privateStringname;



publicComparableBean(Stringname){



this.name=name;

}



publicStringgetName(){

returnname;

}



publicvoidsetName(Stringname){

this.name=name;

}

}

classComparableBeanComparatorimplementsComparator//&lt;ComparableBean&gt;

{

RuleBasedCollatorcollator;//youcansetyourrulesfortheinstance"collator"

publicComparableBeanComparator()

{

collator=(RuleBasedCollator)Collator.getInstance(java.util.Locale.CHINA);//trytestingvariouslocales

}

publicintcompare(Objectobj1,Objectobj2){

Stringtempname1=((ComparableBean)obj1).getName();

Stringtempname2=((ComparableBean)obj2).getName();



CollationKeyc1=collator.getCollationKey(tempname1);

CollationKeyc2=collator.getCollationKey(tempname2);

//returncollator.compare(((CollationKey)c1).getSourceString(),

//((CollationKey)c2).getSourceString());

returncollator.compare(((CollationKey)c2).getSourceString(),

((CollationKey)c1).getSourceString());

}

//publicintcompare(ComparableBeanobj1,ComparableBeanobj2){

//Stringtempname1=obj1.getName();

//Stringtempname2=obj2.getName();

//

//CollationKeyc1=collator.getCollationKey(tempname1);

//CollationKeyc2=collator.getCollationKey(tempname2);

//returncollator.compare(((CollationKey)c1).getSourceString(),

//((CollationKey)c2).getSourceString());

//}

}

//theendofComparableBean.java



测试代码:



ComparableBean[]nameContent={newComparableBean("一切从实际出发"),

newComparableBean("立于不败之地"),newComparableBean("多项式"),

newComparableBean("贯彻落实"),newComparableBean("密切联系群众"),

newComparableBean("四项基本原则"),newComparableBean("咬牙切齿"),

newComparableBean("恭恭敬敬"),newComparableBean("民警"),

newComparableBean("经营承包责任制")};

Arrays.sort(nameContent,newComparableBeanComparator());

for(inti=0;i&lt;nameContent.length;i  ){

System.out.println(nameContent.getName());

TOP

发新话题