0

ArrayList.dataハッシュマップの配列リストを格納するというファイルがあります。使用しているプログラムの制約により、すべてのデータを一度に追加することはできません。これは、プログラムがユーザーごとに新しいインスタンスを作成するためです。すべてのユーザー データの配列リストを作成するには、ファイルを開き、ユーザーのデータを追加して、ファイルを閉じる必要があります。

このファイルには、ハッシュマップの配列リストのみが含まれています。毎回このハッシュマップに追加する方法はありますか?それとも、更新された追加バージョンに置き換え続ける必要がありますか?

4

1 に答える 1

2

保存するためにJavaシリアライゼーションを使用していますArrayListか? 残念ながら、このメカニズムでは、既にシリアル化された形式にデータを段階的に追加することはできません。代わりに、ファイルを開いて全体をデシリアライズし、ArrayList1 つの要素を追加してシリアライズし直して、ファイル内の以前のデータを上書きする必要があります。リストが大きくなると、このアプローチは実行できません。

できることは、それぞれHashMapArrayList<Map<?, ?>>単品)をバラバラに連載すること。このように、新しいアイテムをシリアル化する必要がある場合は、ファイルを開いMapて最後にこの新しいアイテムを追加するだけです。逆シリアル化する場合は、Map1 つずつ読み取り、ArrayList.

于 2012-10-16T20:02:57.237 に答える