如何序列化用Java实现的链表?

我在网上阅读,可以通过将派生对象声明为瞬时对象来省略它们的序列化。但是,在链接列表的情况下,链接是对象之间的内存引用。那么,我应该将其转换为数组并存储数组表示形式吗?

回答:

这是Java序列化的方式LinkedList:它获取所有元素并将它们ObjectOutputStream与大小一起写入。当然要声明header条目transient

请参阅的writeObjectreadObject方法LinkedList

// Write out any hidden serialization magic

s.defaultWriteObject();

// Write out size

s.writeInt(size);

// Write out all elements in the proper order.

for (Entry e = header.next; e != header; e = e.next)

s.writeObject(e.element);

以上是 如何序列化用Java实现的链表? 的全部内容, 来源链接: utcz.com/qa/407835.html

回到顶部