android多音字排序,Android拼音排序
释放双眼,带上耳机,听听看~!
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包!
}
}
}
}
}
android多音字排序,Android拼音排序相关推荐
- android中文首字母排序,Android上汉字按拼音排序如何实现?
具体的代码在 packages\providers\contactsprovider\src\com\android\providers\contacts\ContactL ocaleUtils.ja ...
- db2 某个字段排序_db2 中文排序 按拼音排序(utf-8编码)
需要在建库时指定 数据库整理顺序 表 2. 有效的整理语言环境名称 语言环境名称 语言(区域) 缺省整理属性 ...
- Android/Java汉字按照拼音排序
汉字排序之前: peopleList.add(new NameBean("风四娘"));peopleList.add(new NameBean("连城璧")); ...
- android c 电话联系人,Android 联系人按中文拼音排序
//查询所有数据按联系人姓名升序排序的方法 public List queryAll() { SQLiteDatabase db = helper.getReadableDatabase(); Cur ...
- android中文首字母排序,Android 实现中文按拼音排序方法
难点:汉字转为拼音. https://github.com/promeG/TinyPinyin 是首先获取的Bean对象: for (int i = 0; i < dataList.size() ...
- Android 实现中文按拼音排序方法
难点:汉字转为拼音. https://github.com/promeG/TinyPinyin 是首先获取的Bean对象: for (int i = 0; i < dataList.size() ...
- 手机通讯录java首字母排序,Android联系人按拼音排序以及按汉字首字母或全拼搜索...
今天用了整整一下午去捣鼓这块,为什么模拟器上可以按拼音排序,中英文混排,及按字母搜索联系人,但到了开发板(平台是根据android2.2改过的)上就怎么不行了呢,虽然现在还没有解决,但也是知道了问题所 ...
- [Android]中国大部分城市地区的结构定义与按拼音排序
项目中涉及到送货地址,录入工作量挺耗时的,分享出来,减免大家的重复劳动. 先见效果图如下: 本示例中使用Hashtable记录了中国大部分城市与地区的数据.其结构如下: Hash ...
- Android]中国大部分城市地区的结构定义与按拼音排序
转自http://blog.csdn.net/sodino/article/details/6739522 项目中涉及到送货地址,录入工作量挺耗时的,分享出来,减免大家的重复劳动. 先见效果图如下: ...
- Android联系人按拼音排序以及按汉字首字母或全拼搜索
转:http://blog.csdn.net/csuhanyong/article/details/6120935 今天用了整整一下午去捣鼓这块,为什么模拟器上可以按拼音排序,中英文混排,及按字母搜索 ...
最新文章
- 01背包【动态规划】
- “21天教你学会C++”
- Ctrl+Alt组合键在VMware虚拟机中如何使用
- jsp将数字转换为价格并求和_在JSP页面怎么实现求和操作和百分比操作
- spring 注释_Spring核心注释
- python animation set data_imshow.set_数据()不适用于FuncAnimation
- 有了C盘之后,添加另外一个磁盘的方法
- 叮!锦鲤素材到货啦~
- linux档案与文件的的压缩与打包
- 中国交互式智能板市场趋势报告、技术动态创新及市场预测
- 解决@media screen (自适应)IE浏览器不兼容问题
- Typora下载及使用
- 计算机的坚果云怎么删除,如何删除坚果云残留图标
- unity3d老电视花屏闪烁效果
- xmlserializer_更改XmlSerializer输出临时程序集的位置
- 机器学习---线性回归推导以及python实现
- 高通量测序的数据处理与分析指北(一)_network
- 能勾起你美好回忆的英文经典情歌二十首!绝对经典!
- 一个有成就感又有挫败感的日子
- oracle数据库加复合组件,浅谈oracle复合数据类型 (2)
热门文章
- leetcode 474. Ones and Zeroes | 474. 一和零(双约束背包问题)
- Leet Code OJ 338. Counting Bits [Difficulty: Medium]
- dict python用法_Python_Dict用法梳理
- PAT甲级 -- 1106 Lowest Price in Supply Chain (25 分)
- include指令与动作的区别【贴心,简洁】
- 43行代码AC_HDU-2604 Queuing(矩阵快速幂,附详细的知识讲解、模板例题)
- 解题报告——蓝桥杯 试题 基础练习 字符串对比——16行代码AC
- java培训第一阶段测试总结_java学习的第一阶段总结
- 形容等待时间长的句子_雅思听力该如何准确辨别句子结构?学会结构精听,雅思8分轻松get!...
- 桌面在计算机哪个文件夹,windows的桌面文件夹是哪个?