2010-05-26 2 views
2

Ou peut-être qu'il n'y a pas de différence? Les données sont les mêmes, car j'ai besoin de sauvegarder une valeur-clé, donc dans le cas de la liste, je devrai implémenter la structure KeyValue et la mettre dans la liste.Est-il plus efficace de sérialiser une carte ou une liste d'objets dans Java?

+4

L'essayer vous-même? – Amber

+1

Il y a probablement une différence mais en posant cette question, je me demande si vous essayez réellement de résoudre un autre problème. –

+0

@matt b, j'ai plusieurs entrées de valeur-clé que je dois sérialiser en une seule fois et je pense que est de les mettre dans la liste ou une carte, il suffit de se demander lequel sera le plus efficace? – Dan

Répondre

0

Si vous voulez une sérialisation plus efficace, je vous suggère d'utiliser une sérialisation différente comme Hessian.

+0

Ou utilisez 'Externalizable' pour modifier manuellement le processus de sérialisation/désérialisation. – Yuval

3

Je pense que c'est moins de travail de sérialiser une liste, car ils ont moins de suivi qu'une carte, mais je ne m'inquiéterais pas. Si vous devez utiliser une carte dans votre programme, utilisez une carte et sérialisez la structure de données que vous utilisez pour stocker vos données. Vous ne devriez pas choisir votre structure de données en fonction de la facilité de sérialisation, il va être négligeable

2

L'efficacité est la même. Sauf qu'une carte contient des clés et des données, elle a donc deux fois les données à sérialiser.

Mais le gros oh (O(n)) reste le même. Utilisez la structure de données la mieux adaptée à votre application car la différence ne sera pas importante à long terme.

Questions connexes