本文收集整理关于java数组从小到大排序的相关议题,使用内容导航快速到达。
内容导航:
Q1:java 二维数组中里面的元素从小到大排列(我在线)
你可以先将这个二维数组的数据存在一维数组当中,然后再排序一下,排好序再将数据重新存到ss数组当中。
public static void main(String[] args) throws Exception {
int [][]ss=new int[][]{{23,4,56},{3,12,78,9},{1,21}};
int [][]ret = null;
int[]temp = new int[9];
int index = 0;
for (int i = 0; i < ss.length; i++) {
for (int j = 0; j < ss[i].length; j++) {
temp[index] = ss[i][j];
index++;
}
}
int t;
for (int i = 0; i < temp.length; i++) {
for (int j = 0; j < temp.length; j++) {
if (temp[i] < temp[j]) {
t = temp[i];
temp[i] = temp[j];
temp[j] = t;
}
}
}
int index1 = 0;
for (int i = 0; i < ss.length; i++) {
for (int j = 0; j < ss[i].length; j++) {
ss[i][j] = temp[index1];
index1++;
}
}
for (int i = 0; i < ss.length; i++) {
for (int j = 0; j < ss[i].length; j++) {
System.out.print(ss[i][j] + " ");
}
System.out.println();
}
}
输出结果:
1 3 4、9 12 21 23、56 78
Q2:java从小到大排列数组
//自己写了一个Bubble Sort方法,希望可以帮到你
var array = new Array (23,12,3,44,5);
var temp = 0;
for(var i=0;i
for(var j=i;j
if(array[i]>array[j])
{
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
//print
alert(array.join(","));
Q3:用冒泡排序求下列二维数组从小到大排序 用java程序
1234567891011121314151617181920212223242526importjava.util.Arrays;classTest{publicstaticvoidmain(String[]args){int[][]arr={{34,21,45,67,20},{23,10,3,45,76},{22,3,79,56,50}};System.out.println("排序前:"+Arrays.deepToString(arr));for(int[]is:arr){sort(is);}System.out.println("排序后:"+Arrays.deepToString(arr));}privatestaticvoidsort(int[]is){for(inti=0;i 结果:
Q4:JAVA中给定一个数组,怎么把它里的数从小到大排列输出
java数组操作提供了一个排序工具。
String [] str = [1,2,3];
Arrays.sort(str);
还有不明白的可以查一下java API 搜索Arrays
Q5:java数组如何从小到大排序
123String[]arr={"a","c","e"};java.util.Arrays.sort(arr);//遍历输出arr就OK了。
Q6:用java写 定义一个数组 将它们从小到大排列
最佳答案:冒泡排序算法。一下为C#语言例子:
int temp = 0;
int[] arr = { 23, 44, 66, 76, 98, 11, 3, 9, 7 };
Console.WriteLine("排序前的数组:");
foreach (int item in arr)
{
Console.Write(item + " ");
}
Console.WriteLine();
for (int i = 0; i < arr.Length-1; i++)
{
for (int j = 0; j < arr.Length-1-i; j++)
{
if (arr[j+1] > arr[j])
{
temp = arr[j+1];arr[j+1] = arr[j];arr[j] = temp;}
}
}
Console.WriteLine("排序后的数组:");
foreach (int item in arr)
{
Console.Write(item + " ");
}
Console.WriteLine();
Console.ReadKey();
}
Q7:Java数组有最大长度吗?
回答这个问题之前,我们先来看一下Java中数组是怎么定义的(以String类型为例):
第一种方式,String[] = new String[8]; 第二种方式 String[] = {"a","b","c"};
这两个方式有什么区别呢,第一种方式是定义的时候,只是在堆内存中分配了8个连续的内存地址,而每个一内存地址中对应的都是null。第二种方式,也是在堆内存中分配了连续的内存空间,但是每个内存地址中,都有指向了指定的值。不管是哪种方式,我们都可以知道数组的长度是一个非负的int类型的。如果按照int类型数据的取值范围的话,理论的最大值应该是2^31-1 = 2147483647。那么实际情况真的是这样的么?
为了,弄清楚这个问题,我们去查看一下jdk8 ArrayList的源码:
我们可以很清楚地看到,jdk8中ArrayList里面定义的数组最大长度是Integer.MAX_VALUE - 8 的,而且人家也解释了:有些虚拟机在数组中保留了一些头信息,我猜应该这就是为啥 减8的原因。另外人家说了,如果你尝试申请过大的数组的,可能会导致OutOfMemoryError 内存溢出 这种异常。
那么,到底最大的长度是多少呢?带着这个疑问,我做了以下的测试(本测试是基于jdk8,win7,64位系统的):
可以看出最大长度并不是像jdk8源码里面写的那样。既然是heep space 不足,我去查看了一下,运行是的参数-Xms128m -Xmx750m,也就是说最大堆内存是750M,按照这个内存去分配大小,依旧是这种问题。经过不断的测试,最终在我的机器上数值最大的长度是 524025852。这个还只是单类测试的,如果那种企业级应用的话,我猜数组的最大长度远远要比这个小。
以上就是我经过测试在我本机上的结果,对于不同的机器,不同的系统,这个数据可能不是固定的。如果大家有更好的答案或不同的见解,欢迎大家留言评论。如果对技术热爱的话,欢迎