java中二维数组(多维数组)的理解认识
来源:互联网 发布:淘宝格子铺是什么 编辑:程序博客网 时间:2024/05/12 09:12
最近在一些练习之中遇到了很多关于二维数组的处理,例如二维数组的排序,找最大最小值之类的,所以现在来对二维数组或者可以说对多维数组,来做一个小小的总结。
其实无论是面对二维数组还是多维数组时都应该树立一种意识,不管几维数组,其实都可以看做一维数组。拿二维数组来举个例子,更加形象展现一下二维数组与一维数组的关系:
public class exercise3 {public static void main(String[] args) {int array[][] = new int[4][2];System.out.println("二维数组中一共有"+array.length+"个一维数组");System.out.println("每个一维数组的长度为"+array[0].length); }}
从上面这个例子中不难看出定义一个四行两列的二维数组,实则可以将每一行看作为一个一维数组,而列数则可以看为一维数组的长度,那么就这种情况看来,二维数组的本质也是一个一维数组,只不过和一维数组存储基本类型数据和自定义的类的对象数据不同的是二维数组所存储的数据就是一维数组,总结一句话,二维数组是存储一维数组的一维数组。
再举一个例子,要找一个二维数组的最大值和最小值,如果你以一个很普通的观念来看待二维数组,那么很有可能你的方法就是利用两个for循环然后不断更新一个变量max或min来得到答案。但是你将二维数组看成是存储一维数组的一维数组的话就可以用一下方法来进行求值:
public class exercise3 {public static void main(String[] args) {int max = 1;int min = 1;int array[][] = {{2,3,1},{6,5,4},{8,7,9}};for(int i=0;i<array.length;i++){Arrays.sort(array[i]);max = Math.max(max,array[i][2]);min = Math.min(min,array[i][0]);}System.out.println("最大值="+max);System.out.println("最小值="+min); }}
上面的例子等于是先将每个所存储一维数组排序,然后取各个一维数组的最大最小值进行一个比较。
总之,上面所有总结为一句话那就是将二维数组看为存储一维数组的一维数组,不要将二维数组看为一个整体而是将其分为一个一个的模块来处理会比较简便易懂。
阅读全文
1 0
- java中二维数组(多维数组)的理解认识
- java数组-二维数组及多维数组
- java中获取二维数组或者多维数组第几维的方法
- C语言中多维数组的理解
- C语言中多维数组的理解
- C语言中多维数组的理解
- c中多维数组及数组指针的理解
- 从头认识java-14.3 多维数组
- 对多维数组的理解
- 二维数组,字符串,多维数组
- 二维数组及多维数组
- javascript里的二维数组 多维数组 联合数组
- 【LVL1_6_c】我对(一维数组名、二维数组名、&数组名 )的初步认识和理解。
- 二维向量vector の 邪恶的多维数组 (一)
- 二维数组参数的传递,多维同理
- C++ 中复合类型声明的理解(尤其是指针数组/数组指针/多维数组的问题)
- 对C/C++中多维数组指针的理解
- php打乱数组二维数组多维数组
- java中的多维数组
- DirectX9学习(二)
- iOS之《Effective Objective-C 2.0》读书笔记(16)
- C-C++ static、extern
- [面试题] 不用算术运算符实现两个数的加法
- java中二维数组(多维数组)的理解认识
- 新路程------git 配置vim作为提交编辑器
- 扫码支付接支付宝生活号(原服务窗)
- 微信公众号开发一(接入配置)
- linux解压war包的命令
- sublimetext3 快捷键
- 启动azkaban-web示例步骤
- 【LeetCode】599. Minimum Index Sum of Two Lists
- android 多版本打包后微信分享/登录授权失败问题