前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >java三维数组遍历_Java 多维数组遍历详解 – 码农网

java三维数组遍历_Java 多维数组遍历详解 – 码农网

作者头像
用户7886150
修改于 2021-04-27 09:50:46
修改于 2021-04-27 09:50:46
1K0
举报
文章被收录于专栏:bit哲学院bit哲学院

参考链接: Java程序使用多维数组添加两个矩阵

数组是Java中的一种容器对象,它拥有多个单一类型的值。当数组被创建的时候数组长度就已经确定了。在创建之后,其长度是固定的。下面是一个长度为10的数组:public class ArrayDemo {private int arraySize=10;public int[] arrayOfIntegers = new int[arraySize];}

 上面的代码是一维数组的例子。换句话说,数组长度只能在一个方向上增长。很多时候我们需要数组在多个维度上增长。这种数组我们称之为多维数组。为简单起见,我们将它称为2维数组。当我们需要一个矩阵或者X-Y坐标系的时候,二维数组是非常有用的。下面就是一个二维数组的例子:public class TheProblemOf2DArray {private static final int ARR_SIZE=10;public static void main(String[] args) {int arr[][]=new int[ARR_SIZE][ARR_SIZE];}}

 想象一下,一个二维数组看起来就像一个X-Y坐标系的矩阵。

 然而,可能让Java开发者们感到惊讶的是,Java实际上并没有二维数组。

 在一个真正的数组中,所有的元素在内存中都存放在连续的内存块中,但是在Java的二维数组并不是这样。Java中所有一维数组中的元素占据了相邻的内存位置,因此是一个真正的数组。

 在Java中,当我们定义:

 int singleElement // 表示一个int变量

 int[] singleDArray // 表示一个int变量数组(一维)

 int[][] twoDArray // 表示一个int变量数组的数组(二维)

 这意味着,在上面的例子中,二维数组是一个数组的引用,其每一个元素都是另一个int数组的引用。

 这张图片清楚地解释了这个概念。

 由于二维数组分散在存储器中,所以对性能有一些影响。为了分析这种差异,我写了一个简单的Java程序,显示遍历顺序的重要性。package arrayTraverse;/** * 二维数组的问题 * * 我们在初始化一个任意大小的2维数组。(为简化分析我们使用二维方阵)我们将用两种不同方式迭代同一个数组,分析结果 * 两种迭代方式的性能差距很大 * @author mohit * */public class TheProblemOf2DArray { //数组大小:数组越大,性能差距越明显 private static final int ARR_SIZE=9999; public static void main(String[] args) { //新数组 int arr[][]=new int[ARR_SIZE][ARR_SIZE]; long currTime=System.currentTimeMillis(); colMajor(arr); System.out.println('Total time in colMajor : '+(System.currentTimeMillis()-currTime)+' ms'); //新数组,与arr完全相同 int arr1[][]=new int[ARR_SIZE][ARR_SIZE]; currTime=System.currentTimeMillis(); rowMajor(arr1); // this is the only difference in above System.out.println('Total time in col : '+(System.currentTimeMillis()-currTime) +' ms'); } /** * 下面的代码按列优先遍历数组 * 即在扫描下一列之前先扫描完本列 * */ private static void colMajor(int arr[][]) { for(int i=0;i

 下面是示例的结果:

 重复上面的例子,它会始终给出类似的结果,不过时间差可能会有所不同。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java数组详解(超全)
索引:命名规则、自动类型推断、静态动态初始化、多维数组的其他写法、常见错误写法、数组下标越界、默认值问题、数组长度问题、数组内存解析
全栈程序员站长
2022/09/08
4390
Java数组详解(超全)
从零开始学习Java多维数组,一文教会你。
今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。
喵手
2024/01/27
2190
从零开始学习Java多维数组,一文教会你。
Java零基础-多维数组
今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。
喵手
2023/12/30
1910
Java零基础-多维数组
Java自动化测试(数组/运算符)
数据类型[][] 数组名 = 数据类型 [二维数组长度][二维数组中一维数组的长度];
zx钟
2020/06/15
4300
C语言从青铜到王者——数组详解【一维数组、二维数组、字符数组】
所谓数组,是指将那些具有相同类型的、数量有限的若干个变量通过有序的方法组织起来的一种便于使用的形式。数组属于一种构造类型,其中的变量被称为数组的元素。数组元素的类型可以是基本数据类型,也可以是特殊类型和构造类型。
C语言中文社区
2021/05/13
1.5K0
【Java 从入坑到放弃】No 6. 数组操作的奇技淫巧
前边已经讲过了 Java 中的 8 大基本数据类型,这篇文章主要就来讲讲引用类型中的数组。主要内容安排如下:
村雨遥
2022/06/15
2750
【Java 从入坑到放弃】No 6. 数组操作的奇技淫巧
第四天 数组【悟空教程】
第04天 Java基础 第1章 数组 1.1 数组概念 软件的基本功能是处理数据,而在处理数据时,必须先进行数据持有,将数据持有之后,再对数据进行处理。我们将程序中可以临时存储数据的部分叫做容器。 Java当中具有持有数据功能的容器中,数组是最基本的,也是运算速度最快的。 1.2 数组的定义格式 数组是引用类型的一种,其使用方式与引用类型类似,均使用new关键字创建对象为变量赋值。 格式1:数据类型[] 数组名 = new 数据类型[元素个数或数组长度]; 格式2:数据类型 数组名[] = new 数据类
Java帮帮
2018/06/11
8090
【06】JAVASE-数组讲解【从零开始学JAVA】
Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。
用户4919348
2024/05/25
1580
【06】JAVASE-数组讲解【从零开始学JAVA】
Java 多维数组遍历
数组是Java中的一种容器对象,它拥有多个单一类型的值。当数组被创建的时候数组长度就已经确定了。在创建之后,其长度是固定的。下面是一个长度为10的数组:
哲洛不闹
2018/09/19
2.6K0
Java 多维数组遍历
【Java学习笔记之九】java二维数组及其多维数组的内存应用拓展延伸
多维数组声明 数据类型[][] 数组名称; 数据类型[] 数组名称[]; 数据类型数组名称[][]; 以上三种语法在声明二维数组时的功能是等价的。同理,声明三维数组时需要三对中括号,中括号的位置可以在数据类型的后面,也可以在数组名称的后面,其它的依次类推。 例如: int[][] map; char c[][]; 和一维数组一样,数组声明以后在内存中没有分配具体的存储空间,也没有设定数组的长度。  ---------------------------------------------
Angel_Kitty
2018/04/09
1.4K0
【Java学习笔记之九】java二维数组及其多维数组的内存应用拓展延伸
java基础:数组篇
数组(array)是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来确定数组中唯一的元素。根据数组的维度,可以将其分为一维数组、二维数组和多维数组等。
不期而遇丨
2022/09/09
2.6K0
java多维数组
Java 是一种高级编程语言,广泛应用于各种软件开发和企业应用中。Java 语言支持多维数组,这是一个非常强大和有用的特性。多维数组可以帮助开发人员处理各种复杂的数据结构和算法,同时提高代码的可读性和可维护性。本文将详细介绍 Java 多维数组的概念、用法和示例。
堕落飞鸟
2023/04/03
1.8K0
二维数组求和 练习
二维数组是一个数组的数组,它在程序中通常被用于表示矩阵或表格数据。每个元素在一个二维数组中由两个索引值确定,一个表示行,另一个表示列。以下是关于二维数组的一些基本概念和示例:
默 语
2024/11/20
650
二维数组求和 练习
JAVA数组的定义及用法
数组是有序数据的集合,数组中的每一个元素具有同样的数组名和下标来唯一地确定数组中的元素。
全栈程序员站长
2022/07/13
5250
Java数组
使用sort()方法对Java数组进行排序 使用 binarySearch() 方法来查找数组中的元素的位置。 (Arrays.binarySearch方法使用前,需要对数组排序,才能定位值插入位置,因为binarySearch采用二分搜索法)
李玺
2021/11/22
1.1K0
快速学习Java的多维数组技巧
今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。
喵手
2024/01/20
2100
快速学习Java的多维数组技巧
完整的java数组操作应用知识汇总
数组是一种非常有用和常用的数据类型,存在于每种程序语言之中,java中的数组是一种最简单的复合数据类型,刚学习java数组的小白们大多都会听到一句这样的话:java是纯面向对象的语言,它的数组也是一个对象。所以很多人就按照一个对象的方式来使用数组,后来你会发现,将数组作为一个类来使用在实现上是多么的“不自然”。下面就来全面了解一下关于java中数组的知识。
三哥
2018/08/20
1.6K0
完整的java数组操作应用知识汇总
Java基础(六):数组
java.util.Arrays类即为操作数组的工具类,包含了用来操作数组(比如排序和搜索)的各种方法
冬天vs不冷
2025/01/21
370
Java基础(六):数组
「JAVA」数组、多维数组,动态、静态初始化,数组JVM内存模型分析
所谓数组,是具有相同数据类型的若干变量或者数据按照一定排序规则组合起来的一种数据存储格式。数组中的数据称为数组元素,我们使用索引来标识数组元素在数组中的存储位置,索引从0开始,步长是1,其后的索引依次递增:
老夫编程说
2020/04/25
2.4K0
「JAVA」数组、多维数组,动态、静态初始化,数组JVM内存模型分析
Java数组篇[4]:多维数组
今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。
喵手
2024/09/10
1680
Java数组篇[4]:多维数组
相关推荐
Java数组详解(超全)
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文