拼音排序
来源:互联网 发布:淘宝代销可以刷信誉吗 编辑:程序博客网 时间:2024/05/02 02:15
package com.example.f; import java.util.Comparator;import net.sourceforge.pinyin4j.PinyinHelper; public class PinyinComparator implements Comparator { public int compare(String o1, String o2) { for (int i = 0; i < o1.length() && i < o2.length(); i++) { int codePoint1 = o1.charAt(i); int codePoint2 = o2.charAt(i); if (Character.isSupplementaryCodePoint(codePoint1) || Character.isSupplementaryCodePoint(codePoint2)) { i++;} if (codePoint1 != codePoint2) { if (Character.isSupplementaryCodePoint(codePoint1) || Character.isSupplementaryCodePoint(codePoint2)) { return codePoint1 - codePoint2; } String pinyin1 = pinyin((char) codePoint1); String pinyin2 = pinyin((char) codePoint2); if (pinyin1 != null && pinyin2 != null) { // 两个字符都是汉字 if (!pinyin1.equals(pinyin2)) { return pinyin1.compareTo(pinyin2); } } else { return codePoint1 - codePoint2; } } } return o1.length() - o2.length(); } /** * 字符的拼音,多音字就得到第一个拼音。不是汉字,就return null。 */ private static String pinyin(char c) { String[] pinyins = PinyinHelper.toHanyuPinyinStringArray(c); if (pinyins == null) { return null; } return pinyins[0]; } } //需要倒入pinyin4j-2.5.0.jar包!}}}}}
1 1
- 拼音排序
- 拼音排序
- 拼音排序
- 按照汉字拼音排序
- java 拼音排序
- 中文拼音排序
- 汉字拼音排序
- 汉字按拼音排序
- 按拼音排序
- POSTGRESQL按拼音排序
- oracle拼音排序
- 中文拼音排序
- 中文按拼音排序
- postgresql通过拼音排序
- java按拼音排序
- Oracle 拼音排序
- 汉字按照拼音排序
- 中文拼音简单排序
- atitit.科技公司的超级武器--超级框架,到底要不要自己的框架??
- dojo bootstrap的使用
- 10、@autoreleasepool-内存的分配与释放
- 有大神写DNF外挂的吗
- GPU 与CPU的作用协调,工作流程、GPU整合到CPU得好处
- 拼音排序
- 11、缓存在AFNetworking中是如何工作的?AFImageCache和NSUrlCache给你答案
- 开发日志 2015-03-27
- Ubuntu与Windows双系统修改默认启动项
- HttpClient使用详解
- UVA - 11987 Almost Union-Find(带删除的并查集)
- Sublime Text 2 入门
- Ruby on rails ActiveRecord ‘or’方式选择数据
- 交叉验证