Java嵌套数组如何在内存中实现?

时间:2013-06-25 03:55:47

标签: java memory

考虑java中的嵌套数组。数组的顶层是否包含引用到内部数组,或者内存实际上是否包含内部数组本身?

如果您需要插图,假设我有权访问reverse方法,该方法将通过多次交换来反转数组。如果我在M * N嵌套数组的顶层调用reverse,那么该方法将简单地交换引用(O(m)操作),或者它将交换整个行(O( m * n)操作)?

2 个答案:

答案 0 :(得分:3)

用词引用。数组本身可能是连续的块,但元素引用的对象不太可能。

这篇文章很好地总结了http://java.dzone.com/articles/what-does-java-array-look

答案 1 :(得分:1)

我相信你可以在大多数介绍性的Java书中找到答案(尽管可能不那么明显)。

在Java中,嵌套/多维数组不是连续的块。它只是一个“数组引用”数组。