前言:
现在我们对“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求数组最大值