「java汉字排序」java汉字排序方法

博主:adminadmin 2022-11-27 07:23:09 55

本篇文章给大家谈谈java汉字排序,以及java汉字排序方法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java 中文一,二,到十,怎么排序

如果按照数据库自己排序,会按照中文的拼音进行排序(A-Z)有实验过。如果要实现楼主这样的功能。我建议,增加两个字段,分别是等级(level,最好是约定一个与A级B级对应的数字,如A级填1)、班级号(classno,班级 填,1,2,3代表1班2班3班),两个字段就可以确定一个班级。然后SQL语句为 select 查询的内容 from 表名 order by level,classno (先按level,后按classno排序)

JAVA 汉字首字母排序

我知道用java可以通过汉字的获得到首字母。下面是源码:

import net.sourceforge.pinyin4j.PinyinHelper;

public class PinyinAPI {

/**

* 提取每个汉字的首字母(大写)

*

* @param str

* @return

*/

public static String getPinYinHeadChar(String str) {

if (isNull(str)) {

return "";

}

String convert = "";

for (int j = 0; j str.length(); j++) {

char word = str.charAt(j);

// 提取汉字的首字母

String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);

if (pinyinArray != null) {

convert += pinyinArray[0].charAt(0);

}

else {

convert += word;

}

}

convert = string2AllTrim(convert);

return convert.toUpperCase();

}

/*

* 判断字符串是否为空

*/

public static boolean isNull(Object strData) {

if (strData == null || String.valueOf(strData).trim().equals("")) {

return true;

}

return false;

}

/**

* 去掉字符串包含的所有空格

*

* @param value

* @return

*/

public static String string2AllTrim(String value) {

if (isNull(value)) {

return "";

}

return value.trim().replace(" ", "");

}

public static void main(String[] args) {

String ss = PinyinAPI.getPinYinHeadChar("中国");

System.out.print(ss);//ZG

}

}

JAVA通过数组按首字母排序怎么做?

自己封装的一个工具类,可以将汉字按照拼音的首字母排序,支持对Model和字典排序.只能对首字母排序,不支持第二个字母, 实现的原理就是创建一个A-Z的数组,数组中的元素是字典,字典中有两个元素,一个是title,就是当前的首字母 A-Z中的一个,另一个是保存当前title对应的元素的数组,对传入的数组进行遍历获得数组中的一个元素,如果是Model或者字典通过传入的key的值获得要排序的字符串,获得字符串的拼音的首字母,判断拼音的首字母是A-Z中的哪一个,然后放到数组中的对应的字典的数组中.

后来又做了一个对英文的首字母排序的程序,原理和上面的一样,还省略了将汉字转化为拼音的步骤。工具类的名称是:NH_OrderByPinYinFirstLetter。

代码:使用的时候直接调用下面的方法就行,是一个加号方法,第一个参数是保存要排序的元素的数组,第二个参数:如果数组中是Model或者字典,就写排序的依据的key值,如果数组中不是Model或字典,就写nil。

[objc] view plain copy

// 方法

+ (NSMutableArray *)baseOrderPinYinOnArr:(NSMutableArray *)arr ByKey:(NSString *)key  返回值的类

// 返回一个有24个元素的数组,数组里的元素是字典

// 字典里有两对键值对

//    title : 当前的拼音首字母 A - Z

// datas : 当前的拼音首字母对应的model所组成的数组

Java中如何实现中文排序

public class SortByChinese {

//测试

    public static void main(String[] args) {

        String[] a1 = {"保定","何子安","于小云","刘帝","刘何保定子安","刘","刘娜","家强","刘博"}; 

        getSortOfChinese(a1);

        for (int i = 0; i  a1.length; i++) {

            System.out.println(a1[i]);

        }

    }

/**

 * 

 * @param a String[]

 * @return String[]

 */

    public static String[] getSortOfChinese(String[] a) {

        // Collator 类是用来执行区分语言环境这里使用CHINA

        Comparator cmp = Collator.getInstance(java.util.Locale.CHINA);

        // JDKz自带对数组进行排序。

        Arrays.sort(a, cmp);

        return a;

    }

}public class SortByChinese {

//测试

    public static void main(String[] args) {

        String[] a1 = {"小二","张三","李四","王五","刘七"}; 

        getSortOfChinese(a1);

        for (int i = 0; i  a1.length; i++) {

            System.out.println(a1[i]);

        }

    }

/**

 * 

 * @param a String[]

 * @return String[]

 */

    public static String[] getSortOfChinese(String[] a) {

        // Collator 类是用来执行区分语言环境这里使用CHINA

        Comparator cmp = Collator.getInstance(java.util.Locale.CHINA);

        // Arrays工具类对数组进行排序。

        Arrays.sort(a, cmp);

        return a;

    }

}

试试对你的问题是否有用

Java编程中怎样实现中文排序

简单的实现排序,可以参考如下的代码

import java.text.Collator;

import java.util.Arrays;

import java.util.Comparator;

import java.util.Locale;

public class PYDemo {

public static void main(String[] args) {

String[] names= {"赵z子z龙l","刘l备b","关g羽y","张z飞f"};

System.out.println("排序前"+Arrays.toString(names));

Comparator cpt = Collator.getInstance(Locale.CHINA); 

Arrays.sort(names, cpt);

System.out.println("排序后"+Arrays.toString(names));

}

}

测试输出

排序前[赵z子z龙l, 刘l备b, 关g羽y, 张z飞f]

排序后[关g羽y, 刘l备b, 张z飞f, 赵z子z龙l]

如果有一些非常用的汉字,生僻字等,建议使用一些jar包实现,比如pinyin4j

Java怎么按照汉字字典顺序给字符串排序?

//按照中文第一个字母升序排列的实现

import java.text.Collator;

import java.util.Arrays;

import java.util.Comparator;

public class test {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

ComparatorObject com=Collator.getInstance(java.util.Locale.CHINA);

String[] newArray={"上海","天津","广州","杭州","辽宁","南京","武汉","北京","厦门","内蒙"};

Arrays.sort(newArray,com);

for(String i:newArray){

System.out.print(i+" ");

}

}

}

关于java汉字排序和java汉字排序方法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-27,除非注明,否则均为首码项目网原创文章,转载请注明出处。