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

         
您现在的位置:&&>&&>&&>&&>&正文
Java编程中怎样实现中文排序
来源:()  【】 
第一种情况:&&&&&&&&Comparator&cmp&=&Collator.getInstance(java.util.Locale.CHINA); &&& &&&&String&arr&=&{&"张三",&"李四",&"王五",&"刘六"&}; &&&&Arrays.sort(arr,&cmp); &&&&for&(int&i&=&0;&i&&&arr.&i++) &&&&&&System.out.println(arr[i]); 第二种情况://ComparableBean.javaimport&java.text.CollationKimport&java.text.Cimport&java.text.RuleBasedCimport&java.util.Cpublic&class&ComparableBean{&&private&String&&&&&public&ComparableBean(String&name)&{&&&&&&&&this.name&=&&&}&&public&String&getName()&{&&&&return&&&}&&public&void&setName(String&name)&{&&&&this.name&=&&&}}class&ComparableBeanComparator&&implements&Comparator//{&&RuleBasedCollator&&//&you&can&set&your&rules&for&the&instance&"collator"&&public&ComparableBeanComparator()&&{&&&&collator&=&(RuleBasedCollator)Collator.getInstance(java.util.Locale.CHINA);//&try&testing&various&locales&&}&&public&int&compare(Object&obj1,&Object&obj2)&{&&&&String&tempname1&=&((ComparableBean)&obj1).getName();&&&&String&tempname2&=&((ComparableBean)&obj2).getName();&&&&&&&&CollationKey&c1&=&collator.getCollationKey(tempname1);&&&&CollationKey&c2&=&collator.getCollationKey(tempname2);//&&&&return&collator.compare(((CollationKey)&c1).getSourceString(),//&&&&&&&&((CollationKey)&c2).getSourceString());&&&&return&collator.compare(((CollationKey)&c2).getSourceString(),&&&&&&&&((CollationKey)&c1).getSourceString());&&}//&&public&int&compare(ComparableBean&obj1,&ComparableBean&obj2)&{//&&&&String&tempname1&=&obj1.getName();//&&&&String&tempname2&=&obj2.getName();//&&&&//&&&&CollationKey&c1&=&collator.getCollationKey(tempname1);//&&&&CollationKey&c2&=&collator.getCollationKey(tempname2);//&&&&return&collator.compare(((CollationKey)&c1).getSourceString(),//&&&&&&&&((CollationKey)&c2).getSourceString());//&&}}//the&end&of&ComparableBean.java测试代码:&&&&&&&&ComparableBean&nameContent&=&{&new&ComparableBean("一切从实际出发"),&&&&&&&&new&ComparableBean("立于不败之地"),&new&ComparableBean("多项式"),&&&&&&&&new&ComparableBean("贯彻落实"),&new&ComparableBean("密切联系群众"),&&&&&&&&new&ComparableBean("四项基本原则"),&new&ComparableBean("咬牙切齿"),&&&&&&&&new&ComparableBean("恭恭敬敬"),&new&ComparableBean("民警"),&&&&&&&&new&ComparableBean("经营承包责任制")&};&&&&Arrays.sort(nameContent,new&ComparableBeanComparator());&&&&for&(int&i&=&0;&i&&&nameContent.&i++)&{&&&&&&System.out.println(nameContent[i].getName());&&&&}1&&&
看了本文的网友还看了
?&&()?&&()?&&()?&&()?&&()?&&()
此栏目下没有文章
此栏目下没有推荐文章
? ?   ? ?   ? ?   ? ?   ? ?
? ?   ? ?   ?
?   ? ?    ? ?   ? ?   ? ?   ? ?
? ?   ? ?
实用工具 |
| 大全 | 大全
     |
版权声明:如果网所转载内容不慎侵犯了您的权益,请与我们联系,我们将会及时处理。如转载本内容,请注明出处。
Copyright & 2004-
 网 All Rights Reserved 
中国科学院研究生院权威支持(北京) 电 话:010- 传 真:010-Java实现中文汉字的首字母排序_Linux编程_Linux公社-Linux系统门户网站
你好,游客
Java实现中文汉字的首字母排序
来源:Linux社区&
作者:jdsjlzx
Java中可以排序的工具类和接口共有五个SortedMap 、SortedSet、TreeMap 、TreeSet和Collections,Collections中需要显式调用sort()方法。
事例如下:
import java.util.L
import java.util.ArrayL
import java.util.A
import java.util.C
import myUtil.myArrayC
import java.util.M
import java.util.HashM
import java.util.TreeM
import java.util.C
import java.util.I
import myUtil.myMapC
public class mySort {
public mySort() {
public void arraySort() {
String[] sortArray = {"中山", "汕尾", "广州", "汕头", "阳江"};
Arrays.sort(sortArray);
for (int i = 0; i & 5; i++) {
System.out.println( (String) sortArray[i]);
import&java.util.L&&
import&java.util.ArrayL&&
import&java.util.A&&
import&java.util.C&&
import&myUtil.myArrayC&&
import&java.util.M&&
import&java.util.HashM&&
import&java.util.TreeM&&
import&java.util.C&&
import&java.util.I&&
import&myUtil.myMapC&&
public&class&mySort&{&&
&&&public&mySort()&{&&
&&&public&void&arraySort()&{&&
&&&&&String[]&sortArray&=&{"中山",&"汕尾",&"广州",&"汕头",&"阳江"};&&
&&&&&Arrays.sort(sortArray);&&
&&&&&for&(int&i&=&0;&i&&&5;&i++)&{&&
&&&&&&&System.out.println(&(String)&sortArray[i]);&&
//结果排序为:中山,广州,汕头,汕尾,阳江。按照每个单词最后一个字母的降序进行排列。
String[] reverseArray = {"中山", "汕尾", "广州", "汕头", "阳江"};
Collections.reverse(Arrays.asList(reverseArray));
for (int i = 0; i & 5; i++) {
System.out.println( (String) reverseArray[i]);
String[]&reverseArray&=&{"中山",&"汕尾",&"广州",&"汕头",&"阳江"};&&
&&&&&Collections.reverse(Arrays.asList(reverseArray));&&
&&&&&for&(int&i&=&0;&i&&&5;&i++)&{&&
&&&&&&&System.out.println(&(String)&reverseArray[i]);&&
//结果排序为:阳江,汕头,广州,汕尾,中山。Coleections的反序(reverse)是指单词进行首末对换
相关资讯 & & &
& (09/25/:24)
& (02/07/:50)
& (02/01/:30)
& (04/27/:16)
& (02/01/:53)
& (01/28/:24)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款&&&&&&&&&&&&
Java认证:Java编程中实现中文排序
  Java认证:Java编程中实现中文排序
  第一种情况:
  Comparator cmp = Collator.getInstance(java.util.Locale.CHINA);
  String[] arr = { “张三”, “李四”, “王五”, “刘六” };
  Arrays.sort(arr, cmp);
  for (int i = 0; i 《 arr.length; i++)
  System.out.println(arr[i]);
  第二种情况:
  //ComparableBean.java
  import java.text.CollationKey;
  import java.text.Collator;
  import java.text.RuleBasedCollator;
  import java.util.Comparator;
  public class ComparableBean{
  private String name;
  public ComparableBean(String name) {
  this.name = name;
  public String getName() {
  return name;
  public void setName(String name) {
  this.name = name;
  class ComparableBeanComparator implements Comparator//
  RuleBasedCollator collator; // you can set your rules for the instance “collator”
  public ComparableBeanComparator()
  collator = (RuleBasedCollator)Collator.getInstance(java.util.Locale.CHINA);// try testing various locales
            
免责声明:
① 凡本站注明“稿件来源:中国教育在线”的所有文字、图片和音视频稿件,版权均属本网所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发表。已经本站协议授权的媒体、网站,在下载使用时必须注明“稿件来源:中国教育在线”,违者本站将依法追究责任。
② 本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。
| 京ICP备号 |
CERNET CorporationJava实现中文字符串的排序功能
来源:博客园

 1 package
 2 
 3 /**
 4
书的信息类
 6
* @version
1.0
 8
*/
10 
11 public class Book {
12 
13
private String book_
14
private String book_
16
private String publishing_
18
public Book(String book_id, String book_name, String publishing_house) {
20
super();
21
this.book_id = book_
22
this.book_name = book_
23
this.publishing_house = publishing_
24
}
25 
26
public String getBook_id() {
27
return book_
28
}
29 
30
public void setBook_id(String book_id) {
31
this.book_id = book_
32
}
33 
34
public String getBook_name() {
35
return book_
36
}
37 
38
public void setBook_name(String book_name) {
39
this.book_name = book_
40
}
41 
42
public String getPublishing_house() {
43
return publishing_
44
}
45 
46
public void setPublishing_house(String publishing_house) {
47
this.publishing_house = publishing_
48
}
49 
50
@Override
51
public String toString() {
52
// TODO Auto-generated method stub
53
return "书号"+book_id+"\n书名"+book_name+"\n出版社"+publishing_
54
}
55 }


 1 package
 2 
 3 import java.text.C
 4 
 5 /**
 6
中文字符串排序功能
 8
* @version
1.0
10
*/
12 
13 import java.util.ArrayL
14 import java.util.C
15 import java.util.C
16 
17 public class CollectionChineseSort implements Comparator&Book&{
18
Collator collator= Collator.getInstance(java.util.Locale.CHINA);
20
public static void main(String[] args) {
22
ArrayList&Book& list=new ArrayList&Book&();
24
list.add(new Book("1","英语","英语出版社"));
26
list.add(new Book("2","日语","日语出版社"));
27
list.add(new Book("3","德语","德语出版社"));
28
list.add(new Book("4","法语","法语出版社"));
29
list.add(new Book("5","俄语","俄语出版社"));
30
Collections.sort(list,new CollectionChineseSort());
32
for (Book book:list){
System.out.println(book);
}
37 
38
@Override
39
public int compare(Book book1, Book book2) {
40
// TODO Auto-generated method stub
41
int compare_value=collator.compare(book1.getBook_name(),book2.getBook_name());
43
if(compare_value&0){
45
return 1;
46
if(compare_value&0){
48
-1;
49
return 0;
52
}
53 }

免责声明:本站部分内容、图片、文字、视频等来自于互联网,仅供大家学习与交流。相关内容如涉嫌侵犯您的知识产权或其他合法权益,请向本站发送有效通知,我们会及时处理。反馈邮箱&&&&。
学生服务号
在线咨询,奖学金返现,名师点评,等你来互动}

我要回帖

更多关于 编程实现各种排序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信