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

Java:二维数组是以列优先还是行优先的顺序存储的?

焦宁
2023-03-14
问题内容

在Java中,多维数组是以列优先还是行优先的顺序存储的?


问题答案:

Java没有多维数组。它具有数组的数组。例如

int[][]

…是int[](当然int[]是)的数组int

因此,Java既不是列优先顺序也不是行优先顺序(但请参见下面的有关如何读取的注意事项a[2][3]),因为给定数组的条目存储在连续的内存块中,而这些条目所指向的从属数组是对象的引用。完全独立的,无关的内存块。这也意味着Java的数组数组固有地呈
锯齿状
:处的条目[0]可能引用了3个插槽的数组,其中的处[1]引用了4个插槽的数组,[2]可能根本没有引用一个数组(它可能具有null),可能[3]是指6插槽阵列。

一幅图片价值1k-24字,以及以下所有内容:

                         +-------+
                   +----> | int [] |
+---------- +-------+
| int [] [] | | | 0:整数|
+---------- | 1:int |
| 0:int [] | ------- + | 2:int |
| 1:int [] | ------ + + ---------- +
| 2:空| |
| 3:int [] |-+ | +-------+
+---------- +----> | int [] |
               | +-------+
               | | 0:整数|
               | | 1:int |
               | | 2:int |
               | | 3:int |
               | +-------+
               |
               | +-------+
               +--------| int [] |
                         +-------+
                         | 0:整数|
                         | 1:int |
                         | 2:int |
                         | 3:int |
                         | 4:int |
                         | 5:int |
                         +-------+

知道之后,您就知道(say)的a[2][3]意思是“获取索引2a的条目所引用的3数组,然后获取该下级数组的索引所引用的条目”。我认为它与行优先顺序相当相似,但并不是完全一样。



 类似资料:
  • 问题内容: 我试图弄清楚为什么我的一个css类似乎覆盖了另一个(而不是相反) 这里我有两个CSS类 在我看来,我打电话给 字体(重叠元素)显示为10px而不是20px-有人可以解释为什么会这样吗? 问题答案: 有几条规则(按此顺序应用): 内联css(html样式属性)覆盖样式标签和css文件中的css规则 较具体的选择器优先于较不具体的选择器 如果两个规则具有相同的特异性,则稍后出现在代码中的规

  • 如果我有一个PriorityQueue,它有一个Comparator,一个element类实现了Comparable类,以及它们的排序冲突,那么队列将如何处理排序?它是抛出异常还是忽略一个排序规则?

  • 问题内容: 如果我有一行这样的代码 和…一样吗 要么 ? 问题答案: 这应该使事情更清晰。简单地说,投优先除法运算,所以这将 是同样的事情 给输出相同 编辑: 正如knoight所指出的,这在技术上与没有括号的操作不一样,因为它们也具有优先权。但是,出于本示例的目的,它将提供相同的结果,并且对于所有意图和目的都是等效的。

  • 优先级队列未维护排序顺序我是否未正确执行?输出时出现错误的排序顺序? 产出:[1, 5, 8, 19, 9]

  • 问题内容: 当几个具有相同名称的Spring bean被定义时,哪个将隐藏其他的? 假设我在org.example包中有几个带有注释的类,以及一个包含以下内容的applicationContext.xml: 当我执行操作时,将检索哪个bean ? 根据Spring文档: 每个bean具有一个或多个标识符。这些标识符在承载Bean的容器内必须唯一。 但是,我知道(因为我已经测试过),完成此操作后Sp

  • 我写了一个迷宫求解程序,该程序应该支持DFS、BFS、a*、Dijkstra和贪婪算法。无论如何,我选择PriorityQueue作为我的frontier数据结构,因为我认为优先级可以表现为队列、堆栈或优先级队列,这取决于比较器的实现。 这就是我如何实现比较器以将优先级队列转换为队列: /由于优先级队列的“自然排序”在队列的头部具有最小的元素,并且当第一个元素小于第二个元素时,传统比较器返回-1,