Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中序列化对象的映射或列表是否更有效?_Java_Serialization - Fatal编程技术网

在java中序列化对象的映射或列表是否更有效?

在java中序列化对象的映射或列表是否更有效?,java,serialization,Java,Serialization,或者可能没有区别?数据是一样的,因为我需要保存一个键值,所以在列表的情况下,我必须实现键值结构并将其放入列表中。我认为序列化列表的工作更少,因为它们比映射需要跟踪的更少,但我不担心它。如果需要在程序中使用映射,请使用映射并序列化用于存储数据的任何数据结构。您不应该基于序列化的易用性来选择数据结构,它可以忽略不计效率是一样的。除了一个映射包含键和数据,所以它有两倍的数据要序列化 但是大oh(O(n))保持不变。使用最适合您的应用程序的任何数据结构,因为从长远来看,差异并不重要。如果您想要更高效的序

或者可能没有区别?数据是一样的,因为我需要保存一个键值,所以在列表的情况下,我必须实现键值结构并将其放入列表中。

我认为序列化列表的工作更少,因为它们比映射需要跟踪的更少,但我不担心它。如果需要在程序中使用映射,请使用映射并序列化用于存储数据的任何数据结构。您不应该基于序列化的易用性来选择数据结构,它可以忽略不计

效率是一样的。除了一个映射包含键和数据,所以它有两倍的数据要序列化


但是大oh(
O(n)
)保持不变。使用最适合您的应用程序的任何数据结构,因为从长远来看,差异并不重要。

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

可能会有所不同,但问这个问题会让我怀疑您是否真的在尝试解决不同的序列化problem@mattb,我有一个多个键值项,我需要一次序列化,我认为最简单的方法是将它们放入列表或映射中,只是想知道哪一个会更有效?@Amber,创建一个好的微基准可能会很棘手,他更想知道实际发生了什么。我建议序列化您的数据,不管它是如何使用的。如果用作列表,则序列化列表;如果用作键值项的映射,则序列化映射。或者使用
Externalizable
手动调整序列化/反序列化过程。