我需要知道以下哪种解决方案更有效地解决了我的问题。
问题
我有一个目录,其中包含一些子目录,这些子目录包含.son文件形式的Gson序列化列表/对象。
我需要在运行时获取这些数据,但是我只需要在每个.json中包含某些内容。
解决方案1
我可以使用子目录的名称作为键并将每个子目录(作为对象)所需的数据作为键,将所需的数据保留在HashMap中。然后,每次创建新的子目录时,都可以将条目添加到HashMap中。然后,该HashMap将通过Gson进行序列化,并在应用程序关闭时写入文件中。在运行时,该应用反序列化HashMap并获取所需的数据。
解决方案2
我遍历所有子目录,然后直接Gson反序列化所需的List和Object,然后依次遍历每个子目录的每个List以获得所需的数据。
想法
我担心随着子目录数量的增加,解决方案2的效率将会降低。不过,这是一个更具动态性的解决方案。假设某些子目录已经存在,并且不在HashMap中。对我来说,查询HashMap效率要比仅在我需要的部分运行时直接反序列化所有内容有效。
我们非常感谢您的帮助