「java汉字拼音排序」汉字拼音顺序排列
本篇文章给大家谈谈java汉字拼音排序,以及汉字拼音顺序排列对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
JAVA如何实现拼音排序
Java代码
import java.util.Arrays;
import java.util.Comparator;
import net.sourceforge.pinyin4j.PinyinHelper;
public class PinYinSort {
public static void main(String[] args) {
String[] arr={ "王二六","张三", "李四", "王五","赵六", "JAVA", "123","怡情"};
Arrays.sort(arr,new ComparatorPinYin());
for (String string : arr) {
System.out.println(string);
}
}
/**
* 功能:实现汉语拼音序比较
*
*/
static class ComparatorPinYin implements ComparatorString{
@Override
public int compare(String o1, String o2) {
return ToPinYinString(o1).compareTo(ToPinYinString(o2));
}
private String ToPinYinString(String str){
StringBuilder sb=new StringBuilder();
String[] arr=null;
for(int i=0;istr.length();i++){
arr=PinyinHelper.toHanyuPinyinStringArray(str.charAt(i));
if(arr!=null arr.length0){
for (String string : arr) {
sb.append(string);
}
}
}
return sb.toString();
}
}
}
求一个JAVA的汉字排序程序。。。
对汉字是按拼音排序的,示例:import java.util.*;
import java.text.*;public class Test{
public static void main(String args[]) {
//Comparator cmp = (RuleBasedCollator)java.text.Collator.getInstance(java.util.Locale.CHINA);//try testing various locales
Comparator cmp = java.text.Collator.getInstance(java.util.Locale.CHINA);//try testing various locales
String[] arr = {"张三", "李四", "张", "王"};
java.util.Arrays.sort(arr, cmp);
for (int i = 0; i arr.length; i++)
System.out.println(arr[i]);
Comparator cmp2 = java.text.Collator.getInstance();//try default locale
String[] arr2 = {"我", "是", "草", "吗"};
java.util.Arrays.sort(arr2, cmp2);
for (int i = 0; i arr2.length; i++)
System.out.println(arr2[i]);
}
}
java中进行拼音排序的时候,如何进行多音字处理!最好能举个例子!
如果这种情况不和很多的话,可以使用replaceall("重庆","cq")进行替换。如果太多了话就。能想到的办法就是做一个词组表,用来进行替换。如果有好的建议,欢迎讨论。
获取汉字拼音的常规办法就是pinyin4j。这个百度下,没什么问题。
使用pinyin4j的思路,做出一张多音字词组表。根据词组表替换成正确的字母首拼,之后再进行pinyin4j进行转换
关于java汉字拼音排序和汉字拼音顺序排列的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-27,除非注明,否则均为
原创文章,转载请注明出处。