java序列化與反序列化乙個二叉樹

2021-09-19 12:23:46 字數 642 閱讀 5123

根據前序遍歷規則完成序列化與反序列化。所謂序列化指的是遍歷二叉樹為字串;所謂反序列化指的是依據字串重新構造成二叉樹。

依據前序遍歷序列來序列化二叉樹,因為前序遍歷序列是從根結點開始的。當在遍歷二叉樹時碰到null指標時,這些null指標被序列化為乙個特殊的字元「#」。

另外,結點之間的數值用逗號隔開。

public

class

solution

void

serialize2

(treenode root, stringbuilder sb)

sb.(root.val)

; sb.

(',');

serialize2

(root.left, sb)

;serialize2

(root.right, sb);}

//反序列化樹

int index =-1

;

treenode deserialize

(string str)

treenode deserialize2

(string[

] strs)

return null;

}}

java序列化與反序列化

參考 總結 1 被transient 修飾的屬性,是不會被序列化的 2 靜態屬性不會被序列化 3 序列化與反序列化的serialversionuid要一致 4 objectoutputstream代表物件輸出流 它的writeobject object obj 方法可對引數指定的obj物件進行序列化...

Java序列化與反序列化

當需要把乙個物件儲存在檔案 資料庫中,或是將其在網路上傳播的時候,就需要對其進行序列化。序列化和反序列化就是分別把物件轉成位元組序列和把位元組序列恢復成物件的過程。實現serializable介面是應用序列化與反序列化的一種方式。這個介面沒有方法,這種叫標記介面,表示實現這個介面的類可以被序列化。若...

Java序列化與反序列化

private static final long serialversionuid 1l 序列化操作的時候系統會把當前類的serialversionuid寫入到序列化檔案中,當反序列化時系統會去檢測檔案中的serialversionuid,判斷它是否與當前類的serialversionuid一致,...