java合并两个int数组 为什么java的arrays类的sort方法对对象数组采用合并排序,而对基本类型数组却采用快速排序?
为什么java的arrays类的sort方法对对象数组采用合并排序,而对基本类型数组却采用快速排序?Java中arrays类的sort方法默认情况下是按升序对基本数据类型进行排序,例如sort(int
为什么java的arrays类的sort方法对对象数组采用合并排序,而对基本类型数组却采用快速排序?
Java中arrays类的sort方法默认情况下是按升序对基本数据类型进行排序,例如sort(int[]ARR)和sort(double[]在JDK API中可以找到以下内容:
从图中可以看出,倒数第二行和第三行中的对象数组的排序也是默认的升序,但是在输入之前在这行代码中,您需要为要排序的对象数组完成一个可比较的接口。代码如下:public int[]getnewarrays(int[]one,int[]two){intlen=one.lengthintlen2=两个.lengthintlen3=oneLength Twolength//get the sum of two array length int[]newarray=newint[len3]//创建第三个数组,length=sum of two array length for(inti=0I<len3i){if(I<len){//if I<len,赋值给元素newarray[i]=one[i]continue}intt=i-len//t从0开始,newarray[i]=two[t]//以下元素被赋值给two中的元素}//逐个赋值给第三个数组,值是前两个数组数组.排序(newarray)//使用Java提供的sort方法对第三个数组进行排序//此处也可以使用bubble sort Do not show return array}