在Java中,Vector類實現了Serializable接口,因此可以簡單地使用Java的序列化機制對Vector對象進行序列化。
要序列化一個Vector對象,只需將其寫入一個輸出流,然后稍后從輸入流中讀取。示例代碼如下:
import java.io.*;
import java.util.Vector;
public class SerializeVector {
public static void main(String[] args) {
Vector<String> vector = new Vector<>();
vector.add("Element 1");
vector.add("Element 2");
vector.add("Element 3");
try {
// Serialize the Vector
FileOutputStream fileOut = new FileOutputStream("vector.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(vector);
out.close();
fileOut.close();
System.out.println("Vector object has been serialized");
// Deserialize the Vector
FileInputStream fileIn = new FileInputStream("vector.ser");
ObjectInputStream in = new ObjectInputStream(fileIn);
Vector<String> deserializedVector = (Vector<String>) in.readObject();
in.close();
fileIn.close();
// Print the deserialized Vector
for (String element : deserializedVector) {
System.out.println(element);
}
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
在上面的示例中,我們首先創建了一個Vector對象并添加了一些元素。然后我們將Vector對象序列化到文件"vector.ser"中,接著我們從文件中反序列化出Vector對象,并打印出元素。
需要注意的是,當序列化Vector對象時,Vector類及其元素也必須實現Serializable接口,否則會拋出NotSerializableException異常。