そのため、1秒間に何度も2D配列を更新するJavaプログラムに取り組んでいます。元々、を使用して配列全体をコピーしてSystem.arrayCopy()
いましたが、一度に1行しか更新しないため、これは明らかに悪い考えでした。代わりに、配列の仮想「ゼロ」への「ポインター」を使用することにしました。とにかく、動的なサイズ設定もサポートできるようにしたいと思いました。これを行う最も簡単な方法は、同じサイズを維持する1つの配列を用意し、仮想の最大長を示す数値を設定することです。配列。でもそれは記憶の無駄かもしれないと思っていました
上記の情報は、私が完全にばかげたことをしているのかどうか誰かが教えてくれるようにするためのものです。
TL;DR=次のことを行う場合...
int[][] data = new int[2000][]; // 2000 would be the max
for(int i=0; i<10; i++) {
data[i] = new int[10];
}
...実際に初期化した100intに加えて、どのくらいのメモリを使用しましたか?null参照ごとに4バイトだけでしょうか?