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