龙空技术网

编程排行榜第一语言Java的数组操作

承锟 106

前言:

现在我们对“foreach求数组最大值”都比较关怀,各位老铁们都需要分析一些“foreach求数组最大值”的相关文章。那么小编也在网络上汇集了一些关于“foreach求数组最大值””的相关内容,希望咱们能喜欢,大家一起来学习一下吧!

IT技术研习社,专注互联网技术研究与分享,喜欢的朋友可以点击【关注】;把经验传递给有梦想的人;

数组操作

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); } } }

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

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

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+";"); }

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+" "); }

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+" "); }

IT技术研习社,专注互联网技术研究与分享,喜欢的朋友可以点击【关注】;把经验传递给有梦想的人;

标签: #foreach求数组最大值