2010-05-26 82 views
2

或者也許沒有區別?數據是相同的,因爲我需要保存一個鍵值,所以在列表的情況下,我將不得不實現KeyValue結構並將其放入列表中。在java中序列化Map或List對象會更高效嗎?

+4

親自試一下嗎? – Amber 2010-05-26 02:49:43

+1

可能有區別,但問這個問題讓我懷疑你是否真的試圖解決不同的問題 – 2010-05-26 03:01:52

+0

@matt b,我有一個多重鍵值條目,我需要序列化在一個去,我認爲最簡單的方法是將它們放入列表或地圖中,只是想知道哪一個會更有效率? – Dan 2010-05-26 03:08:04

回答

0

如果你想要更高效的序列化,我建議你使用不同的序列化,像hessian。

+0

或使用'Externalizable'手動調整序列化/反序列化過程。 – Yuval 2010-05-26 06:41:52

3

我認爲序列化列表的工作量較小,因爲它們跟蹤地圖的次數少於地圖,但我不擔心它。如果您需要在程序中使用地圖,請使用地圖,並序列化您用來存儲數據的任何數據結構。您不應該根據易於序列化選擇您的數據結構,它將會被忽略

2

效率是相同的。除了映射包含密鑰和數據外,它有兩倍的序列化數據。

但是大哦(O(n))保持不變。使用任何適合您的應用的數據結構,因爲從長遠來看,差異不會起作用。