最近在做操作联系人数据这一块,当读取系统表中的联系人的数据时,是按照联系人添加的顺序读取的,所以要对读取后的数据按拼音进行排序
一 导入 pinyin4j-2.5.0.jar包 地址http://pinyin4j.sourceforge.net/
这个包是将汉字转化成拼音的工具包
二 自定义数据比较器Comparator
Contects是联系人类
import net.sourceforge.pinyin4j.PinyinHelper;
import java.util.Comparator;
/**
* 对联系人 Contacts的name 的拼音排序
* Created by zsg on 2016/5/5.
*/
public class ComparatorPinYin implements Comparator<Contacts> {
private String ToPinYinString(Contacts contacts){
String str=contacts.getName();
StringBuilder sb=new StringBuilder();
String[] arr=null;
for(int i=0;i<str.length();i++){
arr= PinyinHelper.toHanyuPinyinStringArray(str.charAt(i));
if(arr!=null && arr.length>0){
for (String string : arr) {
sb.append(string);
}
}
}
return sb.toString();
}
@Override
public int compare(Contacts lhs, Contacts rhs) {
return ToPinYinString(lhs).compareTo(ToPinYinString(rhs));
}
}
三 排序数组
ArrayList<Contacts> contactData=new ArrayList<>();
contactData.add(new Contacts("张三","13866665555"));
contactData.add(new Contacts("李四","13866665555"));
contactData.add(new Contacts("赵六","13866665555"));
contactData.add(new Contacts("哔哔","13866665555"));
Collections.sort(contactData,new ComparatorPinYin());
分享到:
相关推荐
多个js汉字拼音排序代码..js js排序 汉字排序 拼音排序 汉字拼音排序
汉字 unicode , 这种格式的,汉字表是在http://xh.5156edu.com/conversion.html这个页面里面找的zmj.php.js这个文件获取的。
"Android中文按拼音排序"这个话题就是关于如何实现这样的功能。这篇博客(博文链接:https://gqdy365.iteye.com/blog/2002488)可能提供了详细的实现方法。 首先,我们要理解的是,中文字符本身并不直接携带拼音...
在IT领域,尤其是在编程和数据处理中,对汉字进行按拼音排序是一项常见的需求。这个任务主要涉及汉字与拼音之间的转换以及排序算法的应用。标题“软件实现汉字按拼音排序”所指的知识点主要包括以下几部分: 1. **...
汉字转换成16进制对应的unicode编码,用于汉字拼音排序
在中文环境中,由于汉字的特性,拼音排序成为一种实用的需求,特别是在需要按照汉字拼音首字母来排列字符串的场景下。"汉字字符串拼音排序-QT、C++"的主题涉及到如何在QT和C++环境中实现这样的功能。 首先,让我们...
"汉字拼音排序"项目提供了一种方法来实现这一目标,通过代码生成并排序汉字的拼音。这里我们将详细探讨涉及的知识点。 首先,我们要理解的是汉字与拼音的关系。汉字是中文的表意字符,每个汉字都有一个或多个对应的...
3. **拼音排序**:使用Python的`sorted()`函数,结合自定义的比较函数,对字符串列表进行排序。比较函数应该比较每个字符串的拼音,而不是直接比较字符串本身。 4. **处理特殊情况**:对于无法在拼音表中找到的汉字...
3. **大写拼音首字母**:在某些场景下,我们可能只需要汉字拼音的首字母,例如用于快速检索或创建索引。C#中,可以通过取字符串第一个字符并将其转换为大写来实现。对于多音字,我们需要确保选择正确的读音,这可能...
在iOS开发中,有时我们需要对汉字进行按照拼音首字母的排序,这在处理中文数据时非常常见,例如在创建联系人列表或者构建中文词典应用时。本篇将详细介绍如何利用第三方类库来实现这一功能。 首先,我们需要理解...
在JavaScript编程中,掌握汉字拼音排序的技巧对于处理中文数据非常重要。了解`localeCompare()`函数以及如何结合使用其他辅助工具和库,可以帮助我们有效地处理中文字符串,提高代码的实用性和效率。在实际开发中,...
### 常用汉字拼音排序码表解析 #### 概述 本文档提供了一份经过精心排序的汉字拼音码表,相较于传统的按照内码顺序排列的方式,这份码表更便于理解和应用,尤其对于输入法设计者而言更为友好。下面将详细介绍这份...
总的来说,MySQL按照汉字拼音排序涉及到字符集的处理和可能的转码操作。在GBK字符集中可以直接排序,而在UTF-8字符集中则需要转码或利用其他工具进行拼音转换。在实际应用中,应根据具体需求和数据量选择最适合的...
1.实现List类型集合中汉字按拼音排序 2.可以比较两个汉字谁前谁后 3.得出汉字的大写拼音首字母
js 实现 汉字按拼音排序! 值得下载看看!资源免费,大家分享!!
代码片段中展示了一个用于拼音排序的函数`F_PINYIN`,它接收一个`VARCHAR2`类型的参数`P_NAME`,并返回一个同样为`VARCHAR2`类型的结果,该结果是输入字符串每个汉字的拼音首字母的集合。为了实现这一功能,代码内部...
微信小程序-汉字拼音首字母排序选择,包括了一个微信小程序富文本解析函数库,收录字符的Unicode编码范围为19968至40869,汉字拼音首字母列表 本列表包含了20902个汉字,用于配合 ToChineseSpell,改动为判定输入数组...
代码如下: select areaName from area order by convert(areaName USING gbk) COLLATE gbk_... 您可能感兴趣的文章:mysql的中文数据按拼音排序的2个方法mysql如何按照中文排序解决方案MySQL按照汉字的拼音排序简单实例
通过以上步骤,我们可以构建一个`PinyinSort`类,用于处理Android应用中的汉字拼音排序。这个公共类可以被多个Activity或Fragment复用,提高代码的可维护性和复用性。在实际项目中,可以根据需求进一步优化和扩展这...
《汉字拼音对照表》的主要内容包括两部分:一是按照汉字笔画或部首排序的对照表,二是按照拼音单字排序的对照表。前者方便用户根据汉字的形状特征进行查找,后者则适合于知道拼音但不确定汉字写法的情况。这两份文本...