多维数组
多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。
二维数组
inta[][]=newint[2][5];解析:以上二维数组a可以看成一个两行五列的数组。
思考:多维数组的使用?
packagecom.array;publicclassArrayDemo05{publicstaticvoidmain(String[]args){//[4][2]/* 1,2 array[0] 2,3 array[1] 3,4 array[2] 4,5 array[3] */int[][]array={{1,2},{2,3},{3,4},{4,5}};//多维数组printArray(array[0]);System.out.println(array[0][0]);System.out.println(array[0][1]);System.out.println(array.length);System.out.println(array[0].length);for(inti=0;i<array.length;i++){for(intj=0;j<array[i].length;j++){System.out.println(array[i][j]);}}}//打印数组元素publicstaticvoidprintArray(int[]arrays){for(inti=0;i<arrays.length;i++){System.out.print(arrays[i]+" ");}}}12124212233445进程已结束,退出代码为0Arrays类
数组的工具类Java.util.Arrays
由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以堆数据对象进行一些基本的操作。
查看JDK帮助文档:https://docs.oracle.com/javase/8/docs/api/
Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而“不用”使用对象来调用(注意:是“不用”而不是“不能”)
具有以下常用功能:
- 给数组赋值:通过fill方法。
- 对数组排序:通过sort方法,按升序。
- 比较数组:通过equals方法比较数组中元素值是否相等。
- 查找数组元素:通过binarySearch方法能对排序好的数组进行二分法查找法操作。
packagecom.array;importjava.util.Arrays;publicclassArrayDemo06{publicstaticvoidmain(String[]args){int[]a={1,2,3,4,9090,31231,543,21,3,23};// System.out.println(a);// [I@7dc5e7b4// //打印数组元素Arrays.toString// System.out.println(Arrays.toString(a));// printArray(a);Arrays.sort(a);//数组进行排序:升序System.out.println(Arrays.toString(a));Arrays.fill(a,2,4,0);//数组填充System.out.println(Arrays.toString(a));}//重复造轮子publicstaticvoidprintArray(int[]a){for(inti=0;i<a.length;i++){if(i==0){System.out.print("[");}if(i==a.length-1){System.out.println(a[i]+"]");}elseSystem.out.print(a[i]+", ");}}}[1,2,3,3,4,21,23,543,9090,31231][1,2,0,0,4,21,23,543,9090,31231]进程已结束,退出代码为0