`
zpball
  • 浏览: 914715 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

中文排序要注意的问题

阅读更多
遇到了中文排序问题,比如想用拼音排序,

String[] strs = {"张三(Z)","李四(L)","王五(W)"};  
          
//排序,默认是升序  
        Arrays.sort(strs);  


 
发现排序结果是:张三(Z)","李四(L)","王五(W),后来看了下《高质量java 151个建议》
一书,发现找到了答案,原来是每一个字符采用uft-8编码来比较,因为张排在李的前面,
所以就有这个答案了。因此建议使用的是compareto排序,如下:


String[] strs = {"张三(Z)","李四(L)","王五(W)"};  
    //定义一个中文排序器  
    Comparator c = Collator.getInstance(Locale.CHINA);  
    //升序排列  
    Arrays.sort(strs,c);  


  但对于中文复杂的同音字情况,依然会偶然有问题,这个时候,就建议使用如ping4j等开源工具来进行转化排序了
分享到:
评论

相关推荐

    关于中文英文混合排序javaDemo

    首先,我们要明白在Java中,默认的字符串排序是基于Unicode编码的,这可能会导致中文字符与英文字符混合排序时出现问题。例如,英文字符通常会排在中文字符前面,因为它们的Unicode值更低。为了解决这个问题,我们...

    Ext中文排序问题

    在IT领域,尤其是在Web开发中,处理中文排序问题是一个常见的需求。中文字符因其复杂的编码结构,在默认的ASCII或Unicode排序规则下,往往无法达到我们期望的排序效果。本文将深入探讨如何利用ExtJS框架解决中文排序...

    MFC汉字排序

    在Microsoft Foundation Classes (MFC)库中,进行汉字排序是一个常见的需求,特别是在处理中文数据时。MFC提供了丰富的类和函数来支持C++编程,它为Windows应用程序开发提供了一种结构化的方式。在这个主题中,我们...

    解决Ext Grid中文排序问题

    在中文环境中,我们通常希望按照汉字的拼音或笔画顺序来排序。 为了解决这个问题,我们可以重写Ext.data.Store的`applySort`函数,以便在进行本地排序时应用中文排序规则。上述代码正是这样一个解决方案。它将原生...

    Android 中英文混合排序

    在"Android 中英文混合排序"这个主题中,我们需要理解如何利用Java(Android的主要编程语言)中的排序机制,结合中文转拼音的方法,来实现这一功能。下面我们将详细探讨这一过程。 首先,Android系统基于Java虚拟机...

    Android-Android中文拼音排序以及中文笔划排序和英文排序

    综上所述,Android开发中的中文拼音排序、中文笔划排序和英文排序是提升用户体验的重要手段,开发者可以根据实际需求选择合适的方法实现。在实际项目中,可以结合`Android-Android中文拼音排序以及中文笔划排序和...

    iOS汉字数组排序

    这样,就可以利用英文字符串排序的规则,达到正确的汉字排序效果。"ZinkSortArray"工具就提供了这样的功能,它能够将汉字数组中的元素转换成对应的拼音,然后进行排序。 使用"ZinkSortArray"的步骤如下: 1. 引入...

    EXT支持GRID中文排序

    为了解决上述问题,可以通过重写`Ext.data.Store`原型中的`applySort`方法来实现对中文数据的正确排序。具体实现如下: ```javascript Ext.data.Store.prototype.applySort = function() { if (this.sortInfo && !...

    java汉字笔画排序2源代码jar包

    Java汉字笔画排序是一个在中文处理领域常见的需求,特别是在数据整理、信息检索或者用户界面排序等方面。本项目提供的"java汉字笔画排序2源代码jar包"是一个优化过的解决方案,旨在减少内存占用并提高排序效率。 ...

    oracle数据库中汉字排序方法

    ### Oracle数据库中汉字排序方法 在Oracle数据库中处理中文数据时,经常需要对包含中文字符的数据表...通过以上内容的学习与实践,我们可以有效地在Oracle数据库中实现汉字排序功能,从而更好地管理和利用中文数据。

    Android中文按拼音排序

    在Android开发中,有时我们需要对中文字符串进行按照拼音首字母的顺序进行排序,例如在创建一个联系人列表或者中文菜单时。"Android中文按拼音排序"这个话题就是关于如何实现这样的功能。这篇博客(博文链接:...

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

    在中文中,每个汉字都有对应的拼音,我们可以借助这一特性进行排序。但是,由于iOS原生的数组排序方法并不支持直接对汉字按拼音首字母排序,所以我们需要借助第三方库的帮助。这里推荐使用`PinyinHelper`库,这是一...

    java 中文姓氏 排序

    - 对于中文排序,需要注意 `Collator` 的使用,因为其内部实现考虑了中文的排序规则。 - 在实际应用中,可能还需要考虑到姓名中可能存在复姓等情况,这可能会影响到排序的结果。 通过上述代码示例,我们可以看到...

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

    比如,可以使用“在线中英文根据首字母排序工具”(http://tools.jb51.net/aideddesign/zh_paixu)和“在线文本倒序翻转排序工具”(http://tools.jb51.net/aideddesign/flipped_txt)来快速对文本进行排序或处理。...

    c# 实现按拼音排序

    但要注意,中文拼音中,声母、韵母和声调的顺序需要正确处理,尤其是声调部分可能会影响到排序结果。 3. **大写拼音首字母**:在某些场景下,我们可能只需要汉字拼音的首字母,例如用于快速检索或创建索引。C#中,...

    Java 中文排序 使用pinyin4j组件

    在Java编程语言中,对中文字符串进行排序是一个相对复杂的问题,因为中文字符的排序不能简单地按照Unicode编码顺序来处理。通常,我们需要考虑汉字的拼音或者笔画等属性来进行排序。这里我们将详细介绍如何使用`...

    姓名排序工具

    在中文文化中,笔画排序是一种常见的方法,因为它不依赖于任何语言转换,只需计算每个字符的笔画即可。这通常涉及到识别每个汉字的基本结构,包括部首、笔画类型和笔画数。 为了提高用户体验,姓名排序工具可能还...

    java集合某个字段按照中文拼音排序.docx

    Java集合某个字段按照中文拼音排序是Java开发中经常遇到的问题。对Java集合中的某个字段按照中文拼音排序可以使用多种方法,本文将介绍两种常见的方法。 方法一:使用Comparable接口 在Java中,我们可以使用...

    MySQL对中文进行排序详解及实例

    在MySQL数据库中,对中文数据进行排序并非像处理英文数据那样简单。MySQL默认的排序规则是基于字节的,这适用于ASCII字符集,但不适用于包含多字节字符集如UTF-8或GBK的中文字符。当我们尝试用`ORDER BY`语句对中文...

    文件按照window 的排序规则-Java实现

    在Windows操作系统中,文件排序规则通常依据文件的名称、扩展名以及创建或修改日期等因素进行。在Java编程环境中,我们也可以模拟实现这种排序规则。Java提供了丰富的类库和方法来处理文件操作,包括对文件的排序。...

Global site tag (gtag.js) - Google Analytics