`
VIP庚
  • 浏览: 223333 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

根据汉字拼音排序

 
阅读更多
  最近在做操作联系人数据这一块,当读取系统表中的联系人的数据时,是按照联系人添加的顺序读取的,所以要对读取后的数据按拼音进行排序

一 导入 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());
0
1
分享到:
评论
2 楼 VIP庚 2016-05-08  
mfkvfn 写道
汉字默认就是拼音排序的,你不知道?

Java并不能精确的对所有的汉字进行排序  这篇文章讲的比较详细 http://blog.csdn.net/hui_lang/article/details/7515674
1 楼 mfkvfn 2016-05-06  
汉字默认就是拼音排序的,你不知道?

相关推荐

    js汉字拼音排序

    多个js汉字拼音排序代码..js js排序 汉字排序 拼音排序 汉字拼音排序

    汉字Unicode根据拼音排序表

    汉字 unicode , 这种格式的,汉字表是在http://xh.5156edu.com/conversion.html这个页面里面找的zmj.php.js这个文件获取的。

    Android中文按拼音排序

    "Android中文按拼音排序"这个话题就是关于如何实现这样的功能。这篇博客(博文链接:https://gqdy365.iteye.com/blog/2002488)可能提供了详细的实现方法。 首先,我们要理解的是,中文字符本身并不直接携带拼音...

    软件实现汉字按拼音排序

    在IT领域,尤其是在编程和数据处理中,对汉字进行按拼音排序是一项常见的需求。这个任务主要涉及汉字与拼音之间的转换以及排序算法的应用。标题“软件实现汉字按拼音排序”所指的知识点主要包括以下几部分: 1. **...

    汉字拼音对应的unicode编码

    汉字转换成16进制对应的unicode编码,用于汉字拼音排序

    汉字字符串拼音排序-QT、C++

    在中文环境中,由于汉字的特性,拼音排序成为一种实用的需求,特别是在需要按照汉字拼音首字母来排列字符串的场景下。"汉字字符串拼音排序-QT、C++"的主题涉及到如何在QT和C++环境中实现这样的功能。 首先,让我们...

    汉字拼音排序

    "汉字拼音排序"项目提供了一种方法来实现这一目标,通过代码生成并排序汉字的拼音。这里我们将详细探讨涉及的知识点。 首先,我们要理解的是汉字与拼音的关系。汉字是中文的表意字符,每个汉字都有一个或多个对应的...

    python 汉字按拼音排序

    3. **拼音排序**:使用Python的`sorted()`函数,结合自定义的比较函数,对字符串列表进行排序。比较函数应该比较每个字符串的拼音,而不是直接比较字符串本身。 4. **处理特殊情况**:对于无法在拼音表中找到的汉字...

    c# 实现按拼音排序

    3. **大写拼音首字母**:在某些场景下,我们可能只需要汉字拼音的首字母,例如用于快速检索或创建索引。C#中,可以通过取字符串第一个字符并将其转换为大写来实现。对于多音字,我们需要确保选择正确的读音,这可能...

    实现汉字的按拼音首字母排序

    在iOS开发中,有时我们需要对汉字进行按照拼音首字母的排序,这在处理中文数据时非常常见,例如在创建联系人列表或者构建中文词典应用时。本篇将详细介绍如何利用第三方类库来实现这一功能。 首先,我们需要理解...

    JS实现中文汉字按拼音排序的方法

    在JavaScript编程中,掌握汉字拼音排序的技巧对于处理中文数据非常重要。了解`localeCompare()`函数以及如何结合使用其他辅助工具和库,可以帮助我们有效地处理中文字符串,提高代码的实用性和效率。在实际开发中,...

    常用汉字拼音排序码表

    ### 常用汉字拼音排序码表解析 #### 概述 本文档提供了一份经过精心排序的汉字拼音码表,相较于传统的按照内码顺序排列的方式,这份码表更便于理解和应用,尤其对于输入法设计者而言更为友好。下面将详细介绍这份...

    MySQL按照汉字的拼音排序简单实例

    总的来说,MySQL按照汉字拼音排序涉及到字符集的处理和可能的转码操作。在GBK字符集中可以直接排序,而在UTF-8字符集中则需要转码或利用其他工具进行拼音转换。在实际应用中,应根据具体需求和数据量选择最适合的...

    c# 实现按拼音排序_源码

    1.实现List类型集合中汉字按拼音排序 2.可以比较两个汉字谁前谁后 3.得出汉字的大写拼音首字母

    js 实现 汉字按拼音排序

    js 实现 汉字按拼音排序! 值得下载看看!资源免费,大家分享!!

    sql 按拼音首字母排序

    代码片段中展示了一个用于拼音排序的函数`F_PINYIN`,它接收一个`VARCHAR2`类型的参数`P_NAME`,并返回一个同样为`VARCHAR2`类型的结果,该结果是输入字符串每个汉字的拼音首字母的集合。为了实现这一功能,代码内部...

    微信-汉字拼音首字母排序选择.rar

    微信小程序-汉字拼音首字母排序选择,包括了一个微信小程序富文本解析函数库,收录字符的Unicode编码范围为19968至40869,汉字拼音首字母列表 本列表包含了20902个汉字,用于配合 ToChineseSpell,改动为判定输入数组...

    mysql如何根据汉字首字母排序

    代码如下: select areaName from area order by convert(areaName USING gbk) COLLATE gbk_... 您可能感兴趣的文章:mysql的中文数据按拼音排序的2个方法mysql如何按照中文排序解决方案MySQL按照汉字的拼音排序简单实例

    Android根据拼音进行排序的公共类

    通过以上步骤,我们可以构建一个`PinyinSort`类,用于处理Android应用中的汉字拼音排序。这个公共类可以被多个Activity或Fragment复用,提高代码的可维护性和复用性。在实际项目中,可以根据需求进一步优化和扩展这...

    汉字拼音对照表

    《汉字拼音对照表》的主要内容包括两部分:一是按照汉字笔画或部首排序的对照表,二是按照拼音单字排序的对照表。前者方便用户根据汉字的形状特征进行查找,后者则适合于知道拼音但不确定汉字写法的情况。这两份文本...

Global site tag (gtag.js) - Google Analytics