「class1instances.dat」と「class1indeces.dat」の1つではなく、クラスごとに2つのファイルを用意するだけです。
最初のクラスは、オブジェクトの連続ファイルです。2番目のファイルは、最初のファイルのオブジェクトのインデックスとして使用されます。これには、最初のファイル内のオブジェクトの位置が含まれています。たとえば、class1indeces.datは次のようになります。
0
1235
12343
43455
899432
つまり、最初のオブジェクトはファイル「class1instances.dat」の位置0にあります。2番目のオブジェクトは位置1235などにあります。次に、ストリームシーク機能を使用して読み取りを開始します。
別のインデックスメソッドはkey-value
です。オブジェクトごとに一意のIDを設定し、各オブジェクトIDとそれに対応するインデックスを書き込むことができます。例えば:
0:0
2:1235
1:12343
320:43455
3:899432
たとえば、ID = 320のオブジェクトを取得するには、ファイル内でID320を線形検索します。それを見つけたら、対応する位置を使用して、次の位置までオブジェクトの読み取りを開始します。
ストリームbin
モードを使用して、オブジェクトをシリアル化することもできます。例。