Bonjour,
Désolé pour le titre un peu SMS mais c'est dur de faire rentrer l'essentiel la haut![]()
Je recherche la structure java qui me permet de detecter des doublons.
J'ai des clés (des Strings) que j'insère systématiquement (put) avec une date de timeout (un Long qui est en fait un System.currentMillis() ). Cette structure a une taille limite, quand elle est atteinte elle lâche les plus anciennes clés.
Des qu'une clé est en timeout, elle est effacée, c'est vérifié juste avant l'insertion réelle.
Pour la structure, j'utilise de jakarta common collections la classe LinkedMap.
Peut-on faire plus rapide, pour recherche et accès direct au plus ancien ? Je prends toute suggestion en compte![]()
Merci d'avance
PS: mon questionnement fait surtout suite à cet article :
http://www.artima.com/weblogs/viewpost.jsp?thread=122295
avec le tableau :
---------- TreeMap ----------
size put get iterate
10 748 168 100
100 506 264 76
1000 771 450 78
10000 2962 561 83
---------- HashMap ----------
size put get iterate
10 281 76 93
100 179 70 73
1000 267 102 72
10000 1305 265 97
------- LinkedHashMap -------
size put get iterate
10 354 100 72
100 273 89 50
1000 385 222 56
10000 2787 341 56
------ IdentityHashMap ------
size put get iterate
10 290 144 101
100 204 287 132
1000 508 336 77
10000 767 266 56
-------- WeakHashMap --------
size put get iterate
10 484 146 151
100 292 126 117
1000 411 136 152
10000 2165 138 555
--------- Hashtable ---------
size put get iterate
10 264 113 113
100 181 105 76
1000 260 201 80
10000 1245 134 77
*///:~
Partager