Java怎么按照汉字字典顺序给字符串排序

 我来答
sunguichun2003
推荐于2018-01-08 · TA获得超过752个赞
知道小有建树答主
回答量:754
采纳率:0%
帮助的人:513万
展开全部
//按照中文第一个字母升序排列的实现
import java.text.Collator;
import java.util.Arrays;
import java.util.Comparator;
public class test {
/让磨拦**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Comparator<Object> com=Collator.getInstance(java.util.Locale.CHINA);
String[] newArray={"上海","天津","广州","杭州","辽宁","南京"坦胡,"武汉","北京","厦门","游悄内蒙"};
Arrays.sort(newArray,com);
for(String i:newArray){
System.out.print(i+" ");
}
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
308xiaobao
高粉答主

2016-07-27 · 每个回答都超有意思的
知道大有可为答主
回答量:2.6万
采纳率:95%
帮助的人:2733万
展开全部
import java.util.Comparator;
import java.util.ArrayList;
import java.util.Collections;
public class Tester {
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add("东海湾");
list.add("傲来");
list.add("东海湾-岩洞");
list.add("傲来药店");
/*
* 运用Collections的sort()方法对其进行排序 sort()方法需要传 连个参数,一个是需要进行排序的Collection 另一个是一个Comparator
*/
Collections.sort(list, new SpellComparator());
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
/**
* 汉字拼音排序比较器
*/
class SpellComparator implements Comparator {
public int compare(Object o1, Object o2) {
try {
// 取得比较对象的汉字编码,并将其码枝转换成字符串局碧
String s1 = new String(o1.toString().getBytes("GB2312"), "ISO-8859-1");
String s2 = new String(o2.toString().getBytes("GB2312"), "ISO-8859-1");
// 运用String类的桐模举 compareTo()方法对两对象进行比较
return s1.compareTo(s2);
} catch (Exception e) {
e.printStackTrace();
}
return 0;
}
}
这个应该可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式