java实现中英混合排序
来源:互联网 发布:写轮眼p图软件 编辑:程序博客网 时间:2024/05/19 07:24
在使用前记得加载jar包()pinyin4i.jar
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
/**
*
*/
public class PingYinUtil {
public static String getPingYin(String inputString) {
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
format.setVCharType(HanyuPinyinVCharType.WITH_V);
char[] input = inputString.trim().toCharArray();
String output = "";
try {
for (int i = 0; i < input.length; i++) {
if (java.lang.Character.toString(input[i]).matches("[\\u4E00-\\u9FA5]+")) {
String[] temp = PinyinHelper.toHanyuPinyinStringArray(input[i], format);
output += temp[0];
} else
output += java.lang.Character.toString(input[i]);
}
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
return output;
}
}
import java.util.Comparator;
public class PinyinComparator implements Comparator<Object>
{
public int compare(Object o1, Object o2)
{
String str1 = PingYinUtil.getPingYin((String) o1);
String str2 = PingYinUtil.getPingYin((String) o2);
return str1.compareTo(str2);
}
}
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Test
{
@SuppressWarnings("unchecked")
public void sort()
{
List<java> list = new ArrayList<Test.java>();
List<java> templist = new ArrayList<Test.java>();
String[] array = { "陈少华", "熊易", "周武", "去情分", "aa", "dddd", "gggg",
"zzzz" };
for (int i = 0; i < array.length; i++)
{
java j = new java();
j.setName(array[i]);
j.setAge(10001 + i);
list.add(j);
}
@SuppressWarnings("rawtypes")
List list1 = Arrays.asList(array);
Arrays.sort(array, new PinyinComparator());
System.out.println(list1.size());
System.out.println(list.size());
for (int i = 0; i < list1.size(); i++)
{
for (int x = 0; x < list.size(); x++)
{
if (list1.get(i).toString().equals(list.get(x).getName()))
{
java ja = new java();
ja.setName(list1.get(i).toString());
ja.setAge(list.get(x).getAge());
templist.add(ja);
}
}
}
System.out.println(list1);
for (int i = 0; i < templist.size(); i++)
{
System.out.println(templist.get(i).getName() + " "
+ templist.get(i).getAge());
}
}
public static void main(String[] args)
{
new Test().sort();
}
class java
{
private int age;
private String name;
/**
* @return the age
*/
public int getAge()
{
return age;
}
/**
* @param age
* the age to set
*/
public void setAge(int age)
{
this.age = age;
}
/**
* @return the name
*/
public String getName()
{
return name;
}
/**
* @param name
* the name to set
*/
public void setName(String name)
{
this.name = name;
}
}
}
- java实现中英混合排序
- Java,Android 中引文字符混合排序
- Java实现混合高斯聚类
- android 中英混合字符串数组按首字母进行排序
- java中实现汉语拼音排序
- TTS中英混合
- 截取字符串(中英混合串)-JAVA代码
- java 获取中英混合的字符长度
- 三中值和插入排序混合实现快速排序
- Java编程中怎样实现中文排序
- java中冒泡排序的实现
- java中如何实现自定义排序
- Java中实现的各种排序算法
- Java中排序的实现(复习)
- java中各种排序的实现 不断更新
- Java实现8中常用的排序
- Java中选择排序的代码实现
- java中实现根据中文首字母排序
- hashmap example
- 第20届国际C语言代码大赛《科学计算器》代码分析
- matlab用mex对.cpp编译之后
- tc351i 发送短信息 代码
- Iphone控件大全
- java实现中英混合排序
- android service 学习(上)
- axis设置SoapHeader
- sqlserver大数据归档
- Tomcat 6中配置SSL双向认证
- ECLIPSE快捷键
- c/c++/MFC 调用 js 函数代码
- iphone开发中一些常用的内容
- 除了Java之外你需要知道的事情1 ——通过equals方法讲讲离散数学