>  Mon probl�me : une classe effectue des traitements sur un flux xml. Dans
>  certains cas d�tect�s au parsing, je dois stocker un objet ayant des
>  prorpi�t�s pour � la fin analyser la "liste" des objets et faire un
>  traitement en fonction des propri�t�s. L'objet est une classe relativement
>  simple n'ayant que des champs de type String.
>  Qu'elle est la meilleure solution en terme d'encombrement m�moire pour
>  stocker mes objets ??
>  J'h�site entre diff�rentes solutions : Vector, HashMap, LinkedList ou autre.

La solution la moins couteuse est un tableau (eg String[]) mais c'est
pas tres dynamique (sauf si tu sais � l'avance la quantit� que tu veux
stocker.) Si tu ne cherches pas � optimiser les acces, tu peux
toujours te faire une classe de stockage par tableau avec une
r�allocation dynamique (e.g. x2 � chaque r�allocation).

Sinon, on utilise beaucoup les TreeMap car il offre un de bonnes perf
en ajout et recherche (O(log(n)) quelque soit les objets (alors
qu'avec les HashMap les perf deviennent catastrophique si tu n'a pas
une bonne fonction de Hash).

Pour info, n'oublie pas que les String java consomme 16 bits (� cause
d'unicode).


Sinon voila quelques papiers sur les Collections Java:
http://pharos.inria.fr/Java/query.jsp?cids=c_2007&cids=c_2067

et sur le Memory Management en Java
http://pharos.inria.fr/Java/query.jsp?cids=c_2007&cids=c_2048

a+

---------------------------------------------------------------
 Olivier Dedieu
 Jalios - Master Your Content - www.jalios.com
---------------------------------------------------------------





Répondre à