gpt4 book ai didi

java - 追加到存储在外部文件中的ArrayList

转载 作者:行者123 更新时间:2023-12-02 07:30:56 24 4
gpt4 key购买 nike

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

该文件仅包含 HashMap 的数组列表。有没有办法每次都附加到这个 HashMap ,或者我需要不断用更新的附加版本替换它?

最佳答案

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

你能做的就是序列化每个 HashMap (单个 ArrayList<Map<?, ?>> 项目)单独。这样,当必须序列化新项目时,您只需打开文件并附加这个新的 Map到底。当你想反序列化它时,只需阅读每个 Map一个接一个地重建ArrayList .

关于java - 追加到存储在外部文件中的ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12922424/

24 4 0