0
私はデータ構造として配列について学習しています。私は、インデックスの配列内の要素をJavaでどのくらい正確に取得するのかに興味があります。以下のコードが実行されるときにボンネットの下に何が起こっている配列内の要素をインデックスで取得する方法は?
:
...
int i = array[2];
どのようにJVM格納refferences配列のプリミティブ型へ?私たちはO(1)の要素をどのように取得しますか? JVMは要素の相対的な位置を他の要素と比較して計算しますか?
https://stackoverflow.com/documentation/java/99/array#t = 201706071240291279792 – Blasanka
array [2]はメモリ内の特定の場所を指しています。値がどこにあるのか分かっていれば、O(1)が達成されます。もちろん、内部的にメモリがどのように処理されるかは、別の話ですが、java – nafas
に関連しています。メモリに格納されている実際の要素へのポインタを返します。 'array'を参照すると、Javaはその配列を探します。 'array [2]'と言うと、Javaは対応する要素を見つけるために配列から該当するポインタを読み込みます。プリミティブの場合、メモリに格納されている実際のアイテムの連続した配列があります。私は答えを掲示したいと思いますが、私はそれを今正しく説明するために絵を描く気がしません。 – Dukeling