簡體   English   中英

這個三維數組中有多少個引用?

[英]How many references exist in this three-dimensional array?

假設以下數組

int myarray [][][] = new int [12][12][3];

這個數組聲明生成了多少引用?

我認為它應該是12 * 12 * 3,因為數組中可以存儲多少元素。

但是,我的同事認為,有12 + 12 * 12,因為“myarray”直接有12個引用,144個引用指向第二個到第三個維度。

但是,如何存儲在此數組中的實際值少於引用?

讓我們通過“引用”直接了解Java程序員的意思。 引用引用一個對象值,包括一個數組,而不是一個原始值,如int ,它不引用任何其他對象 - 它只是一個值。 有12 * 12 * 3的 ,但參考數量不同。

每個最低級別的數組中都沒有包含引用,因為基類型是原始的 - int 這意味着最后的長度3對引用的數量沒有任何影響。

在Java中,多維數組實現為數組數組。 中間值12表示12個引用,每個引用到長度為3的數組。第一個值12表示每個引用由中間值描述的12個數組。 你的同事很接近,這意味着這個多維數組中包含的引用數是12 + 12 * 12或156.在3D數組中,12個外部引用12個2D數組,加上144個內部引用144個1D數組。 包括參考myArray本身,那是157。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM