`
xdwlk2004
  • 浏览: 6514 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Java 中文字符的排序

    博客分类:
  • J2SE
阅读更多
项目中往往需要集合按照中文字符排序,而且java 自带的String 本身
public int compareTo(String anotherString) {
	int len1 = count;
	int len2 = anotherString.count;
	int n = Math.min(len1, len2);
	char v1[] = value;
	char v2[] = anotherString.value;
	int i = offset;
	int j = anotherString.offset;

	if (i == j) {
	    int k = i;
	    int lim = n + i;
	    while (k < lim) {
		char c1 = v1[k];
		char c2 = v2[k];
		if (c1 != c2) {
		    return c1 - c2;
		}
		k++;
	    }
	} else {
	    while (n-- != 0) {
		char c1 = v1[i++];
		char c2 = v2[j++];
		if (c1 != c2) {
		    return c1 - c2;
		}
	    }
	}
	return len1 - len2;
    }


这样并不能满足中文字符的排序,但是你可以使用
Collator java.text.Collator.getInstance()
Gets the Collator for the current default locale. The default locale is determined by java.util.Locale.getDefault.
来辅助排序
分享到:
评论
1 楼 huohu0321 2012-03-07  
还有这种方法.....

相关推荐

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

    默认情况下,Java使用自然排序,即按照字符串的Unicode值进行排序,这对于英文字符和数字来说通常是合适的,但对于中文字符则不是我们期望的排序方式。 为了实现中文、数字和字母的排序,我们需要创建一个`...

    字符串中字符排序

    可以将字符串中的不同字符按比例大小排序输出

    java 字符串a-z排序

    在Java编程语言中,对字符串中的字符进行a到z排序是一项常见的操作,特别是在处理文本数据或需要对字母顺序排列的场景。本知识点将详细讲解如何实现这个功能。 首先,我们需要理解字符串在Java中的本质。在Java中,...

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

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

    java汉字笔画排序2例子及jar包

    标签进一步明确了关键概念,包括"汉字笔画排序"、"java汉字笔画排序"、"java汉字按照笔画排序"、"汉字按照笔画排序"和"中文笔画排序"。这些标签强调了该话题的特定技术点,即使用Java语言对中文字符进行笔画计数并...

    java汉字笔画排序源码

    Java汉字笔画排序是一种在处理汉字时按照汉字的笔画数量进行排序的技术。这个主题主要涉及到计算机科学中的数据结构...通过学习和实践这个项目,开发者可以提升在中文环境下编程的能力,特别是处理中文字符排序的问题。

    JAVA中汉字字符转化为英文字符

    ### JAVA中汉字字符转化为英文字符 #### 知识点概览 本文将详细介绍如何在Java中实现汉字到英文字符的转换。此技术主要用于提取汉字的首字母或进行其他基于字符编码的操作。通过以下两个核心方法:`toTureAsciiStr`...

    java 中文姓氏 排序

    本文将详细介绍如何在 Java 中对包含中文姓氏的对象列表或字符串列表进行排序。 #### 二、基本概念 1. **Collator 类**:这是 Java 中用于文本排序和检索的标准类。`Collator` 类提供了与语言环境相关的字符串排序...

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

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

    java字母数字混搭字符串排序[归类].pdf

    java 字符串数字混搭字符串排序[归类] java 字符串数字混搭字符串排序是指在 java 中对字符串数字混搭字符串进行排序的操作。这种排序方式需要考虑到字符串中既有字母又有数字的情况,对 sorter 进行自定义实现。 ...

    java 字符串 排序 源代码

    在Java编程语言中,字符串排序是一项常见的任务,尤其在处理用户输入数据时。在这个场景中,我们有一个程序,它从用户通过键盘输入的字符串中构建一个列表,将这些字符串保存到一个文件,然后读取这个文件,对字符串...

    java源码数字字符串排序

    在Java编程中,数字字符串排序是一项常见的任务,特别是在处理大量数据时。本示例着重讨论如何对百万级的数字字符串进行高效排序。标题中的“java源码数字字符串排序”指的是利用Java语言实现的一种优化策略,可能...

    Java 字母数字字符串 混合排序(绝对超值管用)

    List&lt;String&gt; location=new ArrayList(); 一行代码轻松搞定混合排序问题 Collections.sort(location, new SortUtils(true));

    java 字符串的排序

    这个是自己上课写的字符串排序的一个小程序···

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

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

    Java 实现ip 地址排序

    Java ip 地址排序Java ip 地址排序Java ip 地址排序Java ip 地址排序

    汉字和数字混合排序

    在计算机科学领域,汉字和数字混合排序是一项挑战性任务,特别是在处理中文文本数据时。由于汉字与数字在数据结构和编码上的本质差异,混合排序需要特定的算法和技术来实现。以下将详细介绍汉字和数字混合排序的相关...

    字符串重新排序

    在Java中,我们可以创建一个字符数组来存储原始字符串的每个数字,然后使用各种排序算法(如冒泡排序、快速排序或内置的Arrays.sort()方法)对数组进行排序。排序完成后,将排序后的数组转换回字符串,即可得到重新...

    关于中文英文混合排序javaDemo

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

Global site tag (gtag.js) - Google Analytics