如何反序列化对象的哈希图?

How to deserialize hashmap of objects?

我在 java 中有一个对象哈希图。我想反序列化对象,但由于集合是动态的,我对如何读回对象感到困惑(反序列化时不知道对象的数量)。我试图在网上四处寻找,但找不到太多。

HashMap patron = new HashMap();
HashMap book = new HashMap();
public static void main(String args[]){

}
public void refresh(){
    try {
        FileInputStream fis = new FileInputStream("Books.ser");
        ObjectInputStream os = new ObjectInputStream(fis);
        Set set = book.entrySet();
        Iterator i = set.iterator();
        while(i.hasNext()){

        }
        os.close();

    }
}

我不知道如何完成反序列化发生的while循环。

  1. 如果您将 HashMap 作为单个对象序列化,只需以相同的方式反序列化它:

    HashMap hm = (HashMap)ois.readObject();
    
  2. 如果您没有将其序列化为单个对象,请更改它。