考慮java中的嵌套數組。數組的頂層是否包含引用到內部數組,還是內存實際上包含內部數組本身?在內存中如何實現Java嵌套數組?
如果您需要插圖,假設我有權訪問reverse
方法,該方法將通過執行多次交換來反轉陣列。如果我在M * N嵌套數組的頂層調用reverse
,該方法將簡單地交換引用(O(m)操作),還是將交換整個行(O(m * n)操作)?
考慮java中的嵌套數組。數組的頂層是否包含引用到內部數組,還是內存實際上包含內部數組本身?在內存中如何實現Java嵌套數組?
如果您需要插圖,假設我有權訪問reverse
方法,該方法將通過執行多次交換來反轉陣列。如果我在M * N嵌套數組的頂層調用reverse
,該方法將簡單地交換引用(O(m)操作),還是將交換整個行(O(m * n)操作)?
總之參考文獻。數組本身很可能是連續的塊,但這些元素引用的對象不太可能。
本文總結起來很好http://java.dzone.com/articles/what-does-java-array-look
我相信你可以找到大部分的Java入門書的答案(雖然它可能不是很明顯)。
在Java中,嵌套/多維數組不是連續的塊。它只是一個「引用數組」的數組。