java三维数组遍历 java三维数组排序_System


数组操作

1.1 多维数组的遍历

对于多维数组的输出有两种方法,foreach或者Array.deeptoString();

案例

使用foreach遍历一个三维数组

int[][][] c = {{{2,3},{1,5},{7,9}},{{1,5},{2,5}}}; System.out.println(c.toString()); for(int[][] is : c) { for(int[] is2 : is) { for(inti : is2) { System.out.print(i); } } }


java三维数组遍历 java三维数组排序_System_02


使用Array.deeptoString()遍历一个三维数组

int[][][] c = {{{2,3},{1,5},{7,9}},{{1,5},{2,5}}}; System.out.println(Arrays.deepToString(c));


java三维数组遍历 java三维数组排序_java语言实现二维数组的转置_03


1.2 数组的复制

1.2.1 System.arraycopy()方法实现复制

System中提供了一个native静态方法arraycopy(),可以使用这个方法来实现数组之间的复制。对于一维数组来说,这种复制属性值传递,修改副本不会影响原来的值。对于二维或者一维数组中存放的是对象时,复制结果是一维的引用变量传递给副本的一维数组,修改副本时,会影响原来的数组。

1.2.2 语法

System.arraycopy(source,srcPos,dest,destPos,length)

复制source数组中从下标srcPos开始的length个元素到目标数组dest,并从目标数组的下标为destPos的位置开始储存。

l source:源数组

l srcPos:源数组中的起始位置

l dest:目标数组

l destPos:目标数组中的起始位置

l length:要复制的数组元素的个数

1.2.3 案例

使用System.arraycopy()方法实现复制数组

intarr1[] = {0,1,2,3,4,5}; intarr2[] = {0,10,20,30,40,50}; System.arraycopy(arr1,0,arr2,1,2);  for(inti : arr2) { System.out.print(i+";"); }


java三维数组遍历 java三维数组排序_数组_04


1.3 数组的排序

1.3.1 使用Arrays.sort()对数组进行排序

Arrays.sort中文叫数组名,是指sort(byte[] a)和sort(long[] a)两种排序方法,使用这个两种方法可以对数字在指定的范围内排序。这个方法在java.util这个包里面,所以在用到的时候需要先将它导入。

1.3.2 语法

Arrays.sort(arr_name)

Arrays.sort(arr_name,fromIndex,toIndex)

对数组arr_name的所有元素进行排序,并且是按从小到大的顺序。

对数组arr_name中,从下标为fromIndex到toIndex的元素(不包括toIndex)进行升序排序

1.3.3 案例

使用Arrays.sort排序数组

intarr[] = {1,4,2,4,-1,52,34}; Arrays.sort(arr); for(inti : arr) { System.out.print(i+" "); }  int[] arr= {1,4,2,4,-1,52,34}; Arrays.sort(arr,0,4); for(inti : arr) { System.out.print(i+" "); }


java三维数组遍历 java三维数组排序_java 冒泡排序 项目案例_05


java三维数组遍历 java三维数组排序_java 冒泡排序 项目案例_06


1.4 冒泡排序

1.4.1 冒泡排序的概念

冒泡排序法是一种简单的排序算法,它重复地走访要排序的数组,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数组的工作是重复地进行直到没有再需要交换,也就是说该数组已经排序完成。

1.4.2 冒泡排序算法的流程

1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。

2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

3. 针对所有的元素重复以上的步骤,除了最后一个。

4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

1.4.3 案例

使用冒泡排序对数组进行排序

int[] a= {1,22,5,65,-1,63,6}; for(inti= 0; i< a.length; i++) { for(intj= 0; j< a.length-1; j++) { if(a[j]>a[j+1]) { intt= a[j]; a[j] = a[j+1]; a[j+1] = t; }  } } for(inti: a) { System.out.print(i+" "); }


java三维数组遍历 java三维数组排序_System_07