当前位置: 首页 > 面试题库 >

Java和C#中的多维数组

龙弘盛
2023-03-14
问题内容

在C#中,有两种创建多维数组的方法。

int[,] array1 = new int[32,32];

int[][] array2 = new int[32][];
for(int i=0;i<32;i++) array2[i] = new int[32];

我知道第一种方法会在内部创建一维数组,第二种方法会创建一个数组数组(访问速度较慢)。

但是在Java中,没有[,]这样的东西,我看到这样声明的多维数组:

int[][] array3 = new int[32][32];

由于这样的语法在C#中是非法的,而Java在no中是非法的int[,],所以我想知道这是否等效array1吗?还是仍然是一个数组数组?


问题答案:

你说错了 锯齿状(嵌套)阵列更快。(CLR已针对它们进行了优化)

Java不支持真正的多维数组。那是一个锯齿状的数组。
Java语法自动创建所有内部数组。在C#中,那需要一个单独的循环。



 类似资料:
  • 主要内容:1、二维数组,2、初始化二维数组,3、访问二维数组种的元素C# 中同样支持多维数组(也可称为矩形数组),它可以是二维的,也可以是三维的,多维数组中的数据以类似表格(行、列)的形式存储,因此也被称为矩阵。 要创建多维数组,我们需要在声明数组的方括号内添加逗号,例如: int[,] arr=new int[3,3];         // 声明一个二维数组 int[,,] arr=new int[3,3,3];     // 声明一个三维数组  1、二维数组

  • C++ 数组 C++ 支持多维数组。多维数组声明的一般形式如下: type name[size1][size2]...[sizeN]; 例如,下面的声明创建了一个三维 5 . 10 . 4 整型数组: int threedim[5][10][4]; 二维数组 多维数组最简单的形式是二维数组。一个二维数组,在本质上,是一个一维数组的列表。声明一个 x 行 y 列的二维整型数组,形式如下:

  • C 语言中的多维数组与我们在数学中学习到的多维数组是一致的。如果你还不知道什么是多维数组也没有关系。多维数组可以看成是之前学习过的数组的扩展。它能让你完成一些仅仅依靠一维数组没有办法完成的事情。让很多事情完成的更为简单。 1. 多维数组的声明 多维数组可以看作是一维数组的扩展。所以,它的声明就是在之前学习的数组,也叫一维数组,之后继续添加大括号,如果添加一组大括号,那么称之为二维数组,以此类推,就

  • 本文向大家介绍详解C++中的一维数组和二维数组,包括了详解C++中的一维数组和二维数组的使用技巧和注意事项,需要的朋友参考一下 C++一维数组 定义一维数组 定义一维数组的一般格式为:     类型标识符  数组名[常量表达式]; 例如: 它表示数组名为a,此数组为整型,有10个元素。 关于一维数组的几点说明: 1) 数组名定名规则和变量名相同,遵循标识符定名规则。 2) 用方括号括起来的常量表达

  • 除了一维数组和二维数组外, Java 中还支持更多维的数组,如三维数组、四维数组和五维数组等,它们都属于多维数组。经过前面一维,二维的练习后不难发现,想要提高数组的维数,只要在声明数组时将索引与中括号再加一组即可,所以三维数组的声明为 int score[][][],而四维数组为 int score[][][][],以此类推。 通常也将二维数组看作是多维数组。本文以三维数组为例来介绍多维数组。 三

  • 本文向大家介绍图文详解c/c++中的多级指针与多维数组,包括了图文详解c/c++中的多级指针与多维数组的使用技巧和注意事项,需要的朋友参考一下 前言 首先先声明一些常识,如果你对这些常识还不理解,请先去弥补一下基础知识:      1、实际上并不存在多维数组,所谓的多维数组本质上是用一维数组模拟的。      2、数组名是一个常量(意味着不允许对其进行赋值操作),其代表数组首元素的首地址。