この3次元配列にどのように多くの参照が存在しますか?

Panzerkroete:

次の配列を想定

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

どのように多くの参照は、この配列の宣言によって生成されますか?

私は正確にどのように多くの要素が配列に格納できるよう、それは、12 * 12 * 3であるべき、だと思います。

直接「myarrayの」12個の参照と144個の参照二から三次元を指していることがあるので、しかし、私の同僚が考える、12 + 12 * 12があります。

しかし、どのようにそこに少ないし、参照この配列に格納された実際の値になることができますか?

rgettman:

のは、Javaプログラマは、「参照」の意味まっすぐなものを取得してみましょう。基準は、次のようなプリミティブな値とは対照的に、アレイを含む、オブジェクトの値を指すintそれだけ値の-他のオブジェクトを参照しません。12の* 12の* 3つのがあるではなく参照の同じ数。

基本型がプリミティブであるため、各最下位レベルのアレイに含まない参照は、存在しません- intこの手段は、3の最後の長さは、参照の数に影響を与えないこと。

Javaでは多次元配列は、配列の配列として実装されています。中央値12の手段長さ3の配列に12の参照各第1値12件の手段中央値によって記述される12個のアレイ12個の参照各。同僚は、近隣に、この多次元アレイに含まれる参照の数は144の1Dアレイ12個の2Dアレイ12の外部参照、プラス144内の参照をの3Dアレイでは、12 + 12 * 12、または156であることが、この手段。参照を含むmyArray157だ自体、。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=210225&siteId=1