进而调用compareto方法,可是你原先是二维数组,那么object数组的每一个元素就是一个数组类型,怎么可能有int数组类型能转成comparable类型的,所以强转肯定报错,解决方法:调用使用泛型参数的sort方法,然后自己实现comparable接口,也就是方法的第二个参数;具体排序规则得看你对这二维数组的需求了 ...
初学JAVA,用Arrays.sort排序,为什么总是数不出结果?
注意:Arrays.sort()不能接收一个二维数组作为参数,所以要做以下修改,你复制一下再运行吧
int a[][] = new int[][]{{38,7,57,62},{52,36},{22,79}};for(int i=0;i<a.length;i++){Arrays.sort(a[i]);for(int j=0;j<a[i].length;j++) System.out.println(a[i][j]);}2015-10-31
你输入错误了
正确的是:java.util.Arrays.sort(a);2015-10-31
在Arrays类中,已实现的明确参数类型的sort方法,并没有二维数组这个参数类型,你这里调用又没报错,应该是使用了参数类型为Object数组的sort方法,既调用时将你的二维数组转成了object数组,看源码你会发现,在这个方法往下执行的时候,会在某一个步骤发生类型转换,也就是将你数组中每一个元素类型转成comparable类型,进而调用compareto方法,可是你原先是二维数组,那么object数组的每一个元素就是一个数组类型,怎么可能有int数组类型能转成comparable类型的,所以强转肯定报错,解决方法:调用使用泛型参数的sort方法,然后自己实现comparable接口,也就是方法的第二个参数;具体排序规则得看你对这二维数组的需求了2018-02-01
(1)
第二次for循环时j<a[i].length 你的多了个=号 for循环后也没有用大括号括起来
(2)
Arrays.sort(Object[] a); 源码接收值是这样的
传入的必须是二维数组,而你传入的a是多维数组,所以报错
(3)
如果用sort()方法的话,正确代码如下 ,只能实现二维数组排序
public static void main(String[] args){
int a[][] = new int[][]{{38,7,57,62},{52,36},{22,79}};
for(int i=0;i<a.length;i++){
Arrays.sort(a[i]);
for(int j=0;j<a[i].length;j++){
System.out.println(a[i][j]);
}
}
}2018-02-01
这是二维数组,也就数组中的值也是数组,你排序按照数组中的数组来排序,当然无法排序。
public static void main(String[] args){
int a[][] = new int[][]{{38,7,57,62},{52,36},{22,79}};
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++) {
Arrays.sort(a[i]);
System.out.println(a[i][j]);
}
}
}
你如上就能实现二维数组中的数组进行排序了,如果你想对你看到的所有的值进行排序那么如下:
public static void main(String[] args){
int a[][] = new int[][]{{38,7,57,62},{52,36},{22,79}};
List<Integer> list= new ArrayList<>();
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++) {
list.add(a[i][j]);
}
}
Collections.sort(list);
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}2018-02-01
Arrays.sort()排序处理的数组的元素类型需要实现Comparable接口,a[][]的数组元素是一维数组[].在编程中,类型是一个很重要的概念,不正确的类型,是处理不了的2018-02-01
你这个a是2维数组吧?你i这句赋值语句有问题吧?
new int[][]{{38,7,57,62},{52,36},{22,79}};2018-02-01
类型装换异常!!!这是个二维数组!!数组里还是数组 你怎么对数组排序!那是不能的你可以Array.sort(a[i])进行排序!!谢谢!2018-02-01
二维数组没法用 Arrays.sort()2015-10-31
import java.util.Arrays;
public class Taxis {
public static void main(String[] args){
int a[][] = new int[][]{{38,7,57,62},{52,36},{22,79}};
for(int i=0;i<a.length;i++){
Arrays.sort(a[i]);
for(int j=0;j<a[i].length;j++){};
System.out.println(Arrays.toString(a[i]));
}
}
}2018-01-31
此类包含用来操作数组(比如排序和搜索)的各种方法。此类还包含一个允许将数组作为列表来查看的静态工厂。
除非特别注明,否则如果指定数组引用为 null,则此类中的方法都会抛出 NullPointerException。
此类中所含方法的文档都包括对实现 的简短描述。应该将这些描述视为实现注意事项,而不应将它们视为规范
的一部分。实现者应该可以随意替代其他算法,只要遵循规范本身即可。(例如,sort(Object[])
使用的算法不必是一个合并排序算法,但它必须是稳定的。)
api中定义如上,arrays.sort遍历不了二维数组2017-06-30