为了账号安全,请及时绑定邮箱和手机立即绑定

请问Arrays.sort()如果对char型数组排序,那么会怎样?

我试了一下,数字貌似是按大小,英文是字母表,那么中文呢?

eg.[他, 你, 我]——貌似。。没发现什么规律

正在回答

3 回答

新手点一下就通,这东西可以看看源码,Java的好处开源,这个类是java.util.Arrays

 public static void sort(char[] a) {

    sort1(a, 0, a.length);

}

private static void sort1(char x[], int off, int len) {

     // Insertion sort on smallest arrays

     if (len < 7) {

        for (int i=off; i<len+off; i++)

             for (int j=i; j>off && x[j-1]>x[j]; j--)

                swap(x, j, j-1);

        return;

}

private static void swap(char x[], int a, int b) {

     char t = x[a];

     x[a] = x[b];

     x[b] = t;

}


东西,可以自己研究出来,只需要做几个System.out.println()就ok了

int a='我';

char c=20320;

System.out.println(a);

System.out.println((char)20320);

0 回复 有任何疑惑可以回复我~
#1

懒秋茵 提问者

非常感谢!
2015-06-25 回复 有任何疑惑可以回复我~

你看懂这个管理员给的这一串代码了嘛?


0 回复 有任何疑惑可以回复我~
import java.util.Arrays;
public class imooc {
    public static void main(String[] args){
    	char []a={'我','是','谁'};
    	Arrays.sort(a);
    	System.out.println(a);
    } 
    
}

输出:

我是谁

排序好像并没有什么卵用

0 回复 有任何疑惑可以回复我~
#1

懒秋茵 提问者

貌似有一定的顺序,因为我当时输进去的不是按[他, 你, 我]的顺序= =他自己排的。会不会它是按汉字内码排的
2015-06-17 回复 有任何疑惑可以回复我~
#2

夜里的流浪人 回复 懒秋茵 提问者

汉字自身在代码里是用数字进行代替的,所以就有大小,然后按数字大小先进行排序,然后再转换成汉字
2015-08-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问Arrays.sort()如果对char型数组排序,那么会怎样?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信