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

Java拼音排序

 
阅读更多

Java拼音排序,汉字排序会存在问题的。

示例如下:

 

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.xiva.baseKnowledge;

import java.text.Collator;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

/**
 *
 * @author Xiva
 */
public class SortByPinY {
    
    public enum Color {
        RED, BLUE, GREEN, BLACK;
    }
    
    public static void main(String[] args) throws ParseException{
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Collator cmp = Collator.getInstance(java.util.Locale.CHINA);
        String[] arr = { "孙子兵法", "网站", "奇迹", "糖水", "参数", "香飘飘", "隐士", "障碍", "颐和园", "怡人"};
        Arrays.sort(arr, cmp);
        System.out.println(Arrays.toString(arr));
        Date date = new Date();
        String dateStr = date.toString();
        System.out.println(dateStr);
        String sdfDate = sdf.format(date);
        System.out.println(sdfDate);
        Date conDate = sdf2.parse(sdfDate);
        System.out.println(conDate.toString());
        List<Color> list = new ArrayList<Color>();
        list.add(Color.RED);
        list.add(Color.BLACK);
        list.add(Color.GREEN);
        list.add(Color.BLUE);
        String arrayStr = ArraystoString(list.toArray());
        System.out.println(arrayStr);
        String[] array = arrayStr.split(",");
        for(int i=0;i<array.length;i++){
            
        }
        
        System.out.println(array.length);
    }
    
    public static String ArraystoString(Object[] a) {
        if (a == null)
            return "null";
	int iMax = a.length - 1;
        if (iMax == -1)
            return "";

        StringBuilder b = new StringBuilder();
	//b.append('[');
        for (int i = 0; ; i++) {
            b.append(String.valueOf(a[i]));
            if (i == iMax)
                //.append(']')
		return b.toString();
	    b.append(", ");
        }
    }
}

 其中输出结果为:

 

[参数, 奇迹, 孙子兵法, 糖水, 网站, 香飘飘, 颐和园, 隐士, 障碍, 怡人]

 

怡人明显应该在障碍前面才对。

分享到:
评论

相关推荐

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

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

    java拼音搜索pinyin4j

    Java拼音搜索是一个在Java开发中常见的功能,尤其在构建搜索引擎或者中文输入法时,将汉字转化为拼音以便于处理和...开发者可以在这个基础上进一步扩展,如增加拼音排序、语音输入支持等功能,以满足不同场景下的需求。

    java中文排序,数字字母汉字排序

    // 汉字按拼音排序 if (pinyin1 == null || pinyin2 == null) { return o1.compareTo(o2); } return Arrays.stream(pinyin1).sorted().toString().compareTo(Arrays.stream(pinyin2).sorted().toString()); } ...

    Android中文按拼音排序

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

    按拼音排序分组LIST

    本示例"按拼音排序分组LIST"着重于展示如何在Android应用中实现一个列表(List),该列表中的元素按照汉字的拼音首字母从A到Z进行排序,并且用户可以点击每个字母来筛选显示相应首字母的数据。这个功能在很多应用...

    Java 中文排序 使用pinyin4j组件

    这里我们将详细介绍如何使用`pinyin4j`这个Java库来实现中文字符串的拼音排序。 `pinyin4j`是一个强大的Java库,它提供了将汉字转换为拼音的功能,这使得我们可以基于每个汉字的拼音首字母来进行排序。以下是如何...

    中文拼音排序

    中文拼音排序是一种解决方案,它将汉字转换为对应的拼音,然后按照拼音的顺序进行排序。这个“中文拼音排序”项目利用了`pinyin4j`库来实现这一功能。 `pinyin4j`是一个强大的Java库,专门用于处理中文字符的拼音...

    java汉字排序

    4. * 汉字按照拼音排序的比较器 5. * @author KennyLee 2009-2-23 10:08:59 6. * 7. */ 8.public class PinyinComparator implements Comparator&lt;Object&gt; { 9. public int compare(Object o1, Object o2) { 10...

    java拼音解析.zip

    "java拼音解析.zip"这个压缩包提供的核心是`pinyin4j-2.5.0.jar`库,它是一个强大的Java库,专门用于汉字到拼音的转换。以下是对这个库及其应用的详细解释。 `pinyin4j`是由Barry DeZeng开发的一个开源项目,它的...

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

    这个功能不仅涉及到中文的拼音排序,还可能涉及到中文笔划排序,甚至英文排序。下面将详细介绍这些排序方法及其在Android开发中的应用。 **一、中文拼音排序** 中文拼音排序是基于汉字的拼音首字母进行排序,适用...

    软件实现汉字按拼音排序

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

    java冒泡排序java冒泡排序集锦方法!

    通过创建一个 `RuleBasedCollator` 的实例并设置为中文环境,可以实现按照中文拼音排序的功能。 以上三个知识点总结了关于 Java 排序的一些基本应用,包括基础的冒泡排序算法、使用标准库 `Collections.sort()` ...

    sql 按拼音首字母排序

    标题“SQL按拼音首字母排序”以及描述中的关键词“SQL按拼音排序”,指向了一种特殊的数据排序需求:在数据库中,针对包含中文字符的字段,按照中文拼音的首字母进行排序。这在处理大量含有中文名称、地点等信息的...

    java中实现汉字按照拼音排序(示例代码)

    例如,我们可以创建一个`Person`类,包含姓名、薪水和年龄等属性,然后创建一个根据姓名拼音排序的`Comparator`: ```java import java.util.Comparator; import java.util.List; import java.util.ArrayList; ...

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

    在中文环境下,一个常见的需求是按照汉字的拼音首字母进行排序,这被称为“拼音排序”。本篇文章将深入探讨如何在Android应用中实现这样一个功能,并提供一个公共类`PinyinSort`的详细解释。 首先,我们要理解汉字...

    Java名字获取拼音

    在Java编程中,有时我们需要将汉字转换为对应的拼音,以便进行特定的处理,如关键词搜索、数据排序等。"Java名字获取拼音"这个主题就是关于如何在Java中实现这一功能。这里我们将深入探讨如何利用开源库pinyin4j来...

    Java编程实现中英混合字符串数组按首字母排序的方法

    本文实例讲述了Java编程实现中英混合字符串数组按首字母排序的方法。分享给大家供大家参考,具体如下: 在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷的进行排序。例如: String[]...

    按姓氏拼音排序.rar

    "按姓氏拼音排序.rar" 提供的场景是将人员名单按照中文姓氏的拼音顺序进行排列。这个主题涉及到中文字符编码、拼音转换以及排序算法等多个知识点。 首先,中文字符在计算机中的表示通常采用Unicode编码,比如常用的...

    JAVA通过数组按首字母排序

    ### JAVA通过数组按首字母排序 在Java编程语言中,对字符串数组进行排序是一个常见的操作。本篇文章将详细介绍如何利用Java内置的`Arrays.sort()`方法按照字符串的首字母进行排序,以及如何处理大小写敏感性问题。 ...

Global site tag (gtag.js) - Google Analytics