「歴史的な」配列参照を必要とするタスクに取り組みました。
これが正しい名前かどうかはわかりません。
これは、視覚的な形での簡単な概念です。
[NC] == No change to array value
(v1) (v2) (v3) (v4) (Result)
[10] -> [13] -> [12] -> [13] = 13
[5] -> [NC] -> [54] -> [NC] = 54
[6] -> [3] -> [61] -> [30] = 30
[7] -> [3] -> [27] -> [3] = 3
[23] -> [NC] -> [NC] -> [NC] = 23
[41] -> [48] -> [4] -> [48] = 48
[12] -> [NC] -> [2] -> [NC] = 2
たとえば、特定の配列セットからデータセットを取得できる必要があります (疑似コード):
int[] results1 = arraySet.get(v2);
System.out.println(results1[1]); // Prints 5
int[] results2 = arraySet.get(v4);
System.out.println(results2[1]); // Prints 54
1 秒間に約 20 個の配列セットを保存する必要があり、過去 5 秒間戻ってきます。
したがって、100 個の配列セットがメモリに格納されます。
各配列セットには約 200 の値が含まれます。したがって、これは非常に大きなメモリ消費になります。
あなたへの私の質問:
これを行うための Java 実装が既にありますか?これにより、配列値を配列内の古いバージョンにリンクすることができます。または、配列全体のクローンを作成し、変更する必要がある値を変更する必要がありますか? (さらに、厄介なメモリの欠点があります)