我有一个序列化文件HashmapSent.ser,它包含一个格式为
的hashmapHashMap<String, RequestData> sentHashmap,
其中RequestData是我创建的POJO。
我的问题是..,是否可以使用密钥从文件中读取hashmap。
当我使用ObjectInputStream.readObject()时,我猜它会将文件中的整个hashmap加载到Memory中。由于Hashmap包含10000个键值对,因此如果我可以使用键读取/加载特定记录将会很好。
请有人帮我解决这个问题。
答案 0 :(得分:0)
我认为实现这是不可能的,因为HashMap是Java中的一个类,并不意味着文件中的任何内容。也许我们可以说一个文件意味着一个字符串到Java,如果你想用一个键搜索文件,字符串必须有自己的常规。例如:json,xml,sqlite等。
另一个重要的事情是我们需要将整个文件加载到内存中。我们可以在上面的示例中选择xml或sqlite。
Json:Json需要将整个文件加载到内存中。 XML:dom4j也需要。 XML:Sax不需要加载整个文件。 sqlite:你只需要连接数据库
这就是解决问题的方法。