0

我有一个名为 的文件ArrayList.data,它存储哈希图的数组列表。由于我正在使用的程序的限制,我无法一次添加所有数据,因为该程序为每个用户创建了一个新实例。要创建所有用户数据的数组列表,我需要打开文件,添加用户数据,然后关闭文件。

该文件仅包含哈希图的数组列表。有没有办法每次都附加到这个哈希图,还是我需要用更新的附加版本替换它?

4

1 回答 1

2

您是否使用 Java 序列化来存储ArrayList?不幸的是,这种机制不允许您以增量方式将数据添加到已经序列化的表单中。相反,您必须打开文件,反序列化整个文件ArrayList,添加一个元素并将其序列化回来,覆盖文件中的先前数据。如果列表变大,这种方法是不可行的。

您可以做的是分别序列化每个HashMap(单个ArrayList<Map<?, ?>>项目)。这样,当必须对新项目进行序列化时,您只需打开文件并Map在最后附加这个新项目。当你想反序列化它时,只需Map一个接一个地读取并重建ArrayList.

于 2012-10-16T20:02:57.237 回答