91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

hashmap和hashset的序列化問題

小樊
83
2024-07-08 23:33:30
欄目: 編程語言

在Java中,HashMap和HashSet都是實現了Serializable接口的類,因此它們都可以被序列化。序列化是將對象轉換為字節流的過程,以便將其保存到文件中或通過網絡進行傳輸。

要序列化HashMap或HashSet,只需要將它們寫入ObjectOutputStream中,如下所示:

import java.io.*;
import java.util.HashMap;
import java.util.HashSet;

public class SerializationExample {
    public static void main(String[] args) {
        try {
            // Serialize a HashMap
            HashMap<String, Integer> map = new HashMap<>();
            map.put("a", 1);
            map.put("b", 2);
            ObjectOutputStream mapOut = new ObjectOutputStream(new FileOutputStream("map.ser"));
            mapOut.writeObject(map);
            mapOut.close();

            // Serialize a HashSet
            HashSet<String> set = new HashSet<>();
            set.add("apple");
            set.add("banana");
            ObjectOutputStream setOut = new ObjectOutputStream(new FileOutputStream("set.ser"));
            setOut.writeObject(set);
            setOut.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

要反序列化HashMap或HashSet,只需要從ObjectInputStream中讀取對象,如下所示:

import java.io.*;
import java.util.HashMap;
import java.util.HashSet;

public class DeserializationExample {
    public static void main(String[] args) {
        try {
            // Deserialize a HashMap
            ObjectInputStream mapIn = new ObjectInputStream(new FileInputStream("map.ser"));
            HashMap<String, Integer> map = (HashMap<String, Integer>) mapIn.readObject();
            mapIn.close();
            System.out.println(map);

            // Deserialize a HashSet
            ObjectInputStream setIn = new ObjectInputStream(new FileInputStream("set.ser"));
            HashSet<String> set = (HashSet<String>) setIn.readObject();
            setIn.close();
            System.out.println(set);
        } catch (IOException | ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}

需要注意的是,當對HashMap或HashSet進行序列化和反序列化時,它們所包含的所有對象也必須實現Serializable接口,否則會拋出NotSerializableException異常。

0
得荣县| 都匀市| 盐亭县| 承德市| 应城市| 美姑县| 安丘市| 旅游| 河津市| 塔城市| 舟曲县| 松滋市| 赤壁市| 宣威市| 巴东县| 阿克陶县| 中江县| 大厂| 凤阳县| 苍溪县| 鄂尔多斯市| 太康县| 阿图什市| 明水县| 镇远县| 桃园市| 浑源县| 尤溪县| 内乡县| 安远县| 武平县| 武义县| 义乌市| 永年县| 玛纳斯县| 台中市| 图木舒克市| 漾濞| 元朗区| 乳山市| 建昌县|