GNT sans publicité, site mobile, fonctionnalitées exclusives...

Meilleur conteneur...

Le
MiXAO
.. pour contenir plusieurs dizaines de milliers de petites chaines de
caractères.
Hashtable ?

Le but de ce conteneur sera d'être utilisé pour tester l'existence d'une
chaine ou non. Un dictionnaire en gros.

MiXAO
Lire les 9 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nico
Le #176972
Oui, ou alors un HashSet qui ne différencie pas la clé et l'objet.

Nicolas

"MiXAO" a écrit dans le message de
news:41fd2d70$0$11842$
.. pour contenir plusieurs dizaines de milliers de petites chaines de
caractères.
Hashtable ?

Le but de ce conteneur sera d'être utilisé pour tester l'existence d'une
chaine ou non. Un dictionnaire en gros.

MiXAO


MiXAO
Le #176969
Nico wrote:
Oui, ou alors un HashSet qui ne différencie pas la clé et l'objet.


Ah oui, le HashSet, sympathique, justement, j'ai pas besoin de couple
clé/objet. merci de ton aide.

MiXAO

Johann Burkard
Le #176889
MiXAO wrote:
.. pour contenir plusieurs dizaines de milliers de petites chaines de
caractères.
Hashtable ?

Le but de ce conteneur sera d'être utilisé pour tester l'existence d'une
chaine ou non. Un dictionnaire en gros.


J'ai écrit une classe appellée HashCache [1] qui t'aide peut-être:

-- 8< --
The HashCache is a collision-free hash table that only stores hash codes
from Objects, not the actual Objects themselves. This is useful when the
most frequent operation is <code>contains</code> (a O(1) operation in
the HashCache).
[...]
Performance results for 1 million <code>contains</code> invocations (@
2.4 GHz, Sun SDK 1.4.1_01) on around 25 Strings:

HashCache: ~ 80 ms
java.util.TreeSet: ~ 265 ms
java.util.HashSet: ~ 350 ms
java.util.Hashtable: ~ 625 ms
java.util.ArrayList: ~ 850 ms
java.util.Vector: ~ 930 ms
-- >8 --

Je sais pas si ca marche très bien avec beaucoup d'objets, mais tu peux
essayer.

[1]
Johann
--
X-Post über de.soc.netzkultur.umgangsformen und
de.soc.netzkultur.umgangsformen, Fup2 de.soc.netzkultur.umgangsformen
(*Tönnes in
Nico
Le #176888
"Johann Burkard" news:41fd36fe$0$18561$
MiXAO wrote:
.. pour contenir plusieurs dizaines de milliers de petites chaines de
caractères.
Hashtable ?

Le but de ce conteneur sera d'être utilisé pour tester l'existence d'une
chaine ou non. Un dictionnaire en gros.


J'ai écrit une classe appellée HashCache [1] qui t'aide peut-être:

-- 8< --
The HashCache is a collision-free hash table that only stores hash codes
from Objects, not the actual Objects themselves. This is useful when the
most frequent operation is <code>contains</code> (a O(1) operation in
the HashCache).
[...]
Performance results for 1 million <code>contains</code> invocations (@
2.4 GHz, Sun SDK 1.4.1_01) on around 25 Strings:

HashCache: ~ 80 ms
java.util.TreeSet: ~ 265 ms
java.util.HashSet: ~ 350 ms
java.util.Hashtable: ~ 625 ms
java.util.ArrayList: ~ 850 ms
java.util.Vector: ~ 930 ms
-- >8 --

Je sais pas si ca marche très bien avec beaucoup d'objets, mais tu peux
essayer.


Désolé, mais je comprends pas comment ca peut marcher.
Il me semble que ce n'est parce que deux objets ont le même hashcode qu'ils
sont égaux.
Tu peux m'expliquer ?

Nicolas


Johann Burkard
Le #176881
Nico wrote:
Il me semble que ce n'est parce que deux objets ont le même hashcode qu'ils
sont égaux.


Oui, normal, mais tu peux t'écrire une meilleure méthode hashCode() si
tu as trop de collisions.

En plus, dans ce cas, tu veux qu'un petit test si un objet se trouve
dans un Collection. Ou bien c'est ce que je pense.

Johann
--
X-Post über de.soc.netzkultur.umgangsformen und
de.soc.netzkultur.umgangsformen, Fup2 de.soc.netzkultur.umgangsformen
(*Tönnes in
Publicité
Suivre les réponses
Poster une réponse
Anonyme