Quel est la différence enre hashtable et hashmap ? - Java - Programmation
Marsh Posté le 12-11-2003 à 16:01:44
hashtable c'est mal
c'est "l'ancienne" version de HashMap. Elle est synchronizée => moins performante.
Marsh Posté le 12-11-2003 à 16:02:13
benou a écrit : hashtable c'est mal |
Mais très bien pour le multithreading. Et de toute façon, la différence synchro/non synchro ne joue pratiquement plus depuis quelques versions.
Marsh Posté le 12-11-2003 à 16:07:50
Taiche a écrit : |
mais arrête de dire ca !!!
On s'en fout que ca joue ou pas : ca sert à rien de se servir d'un vieux truc juste parce qu'il est pas bcp moins performant ! Ca a que des inconvénients. Ils sont peut être pas très importants, mais c'est que des inconvénients quand même !
Et si tu veux de la synchronization, tu fais Collections.synchronizedMap(taHashMap) et elle est devient synchronizée
De toute façon, t'es quasi toujours obligé de gérer la sycnhronization à l'extérieur de la map : c'est un piège à newbie les collections synchronizées
Marsh Posté le 12-11-2003 à 16:11:50
benou a écrit : |
Ba alors arrête de te sentir obliger de toujours dire "synchronisé donc moins performant" !@# Y a 1000 fois plus de trucs importants sur lesquels il faut faire gaffe que de dire "hanlàlà, c'est synchronisé donc c'est maaaaaaaaal".
T'entretiens des légendes à la con qui ne sont plus vraies depuis longtemps et après tu vas venir te plaindre des types qui diront que Java c'est nul passke c'est lent.
Marsh Posté le 12-11-2003 à 16:12:20
ReplyMarsh Posté le 12-11-2003 à 16:41:51
Taiche a écrit : |
bha c'est vrai
je dis pas que c'est 10 fois plus lent, je dis pas que c'est lent, je dis juste que c'est plus lent.
La hastable a juste été laissé pour des raison de d'historique des codes sources ...
Vivement qu'ils la rendent deprecated qu'on en parle plus !
La réforme des collections en Java date de la jdk 1.2. Il serait temps de s'y mettre !
Marsh Posté le 12-11-2003 à 16:43:17
et puis zut quoi, mettre du synchronizé dans un source faut avoir des bonnes raison de le faire ...
C'est comme si tu disais à un mec de rajouter des bloc synchronized partout Même si c'est pas bcp plus lent, c'est juste que ca sert à rien
Marsh Posté le 12-11-2003 à 16:43:49
Ah un fight Java Vs Java, je dois dire que c une premiere
Marsh Posté le 12-11-2003 à 16:45:31
chrisbk a écrit : Ah un fight Java Vs Java, je dois dire que c une premiere |
c'est Taiche y dit toujours que hashtable c'est bien
Marsh Posté le 12-11-2003 à 16:46:56
benou a écrit : |
ben perso je trouvais ta remarque sur les perfs tres rigolote puisque je me rapelle que t'avais un jour poster un PPT de sun sur les 10 mythes des perfs Java et dedans y'avait "mythe xx : synchronized fais tout ramer" alors bon
Marsh Posté le 12-11-2003 à 16:50:03
Bon alors j'vais préciser ma pensée
Chu d'accord quand tu dis qu'il faut pas en coller partout sous prétexte d'une éventuelle compatibilité multithread à la con. Maintenant, chu pas d'accord sur la façon de dire "c'est mal passke c'est plus lent" Stout
chrisbk a écrit : |
Nan, c'est moi qui l'avais sorti, ce PDF
Pis retourne faire du DirectX, toi
Marsh Posté le 12-11-2003 à 16:51:15
chrisbk a écrit : |
nan nan, c'était taiche qui avait posté ca
c'était déjà a propos d'un débat hastable vs hashmap d'ailleur
et encore une fois, c'est pas parce que c'est pas bcp plus lent qu'il faut l'utiliser ... là je comprend pas le raisonement
edit : grilled, mais c'est à cause de mon proxy de brun
Marsh Posté le 12-11-2003 à 16:51:39
chrisbk a écrit : |
nan nan, c'était taiche qui avait posté ca
c'était déjà a propos d'un débat hastable vs hashmap d'ailleur
et encore une fois, c'est pas parce que c'est pas bcp plus lent qu'il faut l'utiliser ... là je comprend pas le raisonement
Marsh Posté le 12-11-2003 à 16:52:31
Taiche a écrit : |
Ah ca va hein ?
c de l'enculage de mouche ca
Taiche a écrit : |
Directx c un truc pour haute perfo et au taf je fais du Java, vois le paradoxe
Marsh Posté le 12-11-2003 à 16:52:57
Taiche a écrit : chu pas d'accord sur la façon de dire "c'est mal passke c'est plus lent" |
Ok, la vrai raison c'est "c'est mal parce que c'est hasbeen parce que c'est une vielle classe qui date d'avant la HashMap et que y a que les codeurs d'applet qui utilisent ca"
Marsh Posté le 12-11-2003 à 16:53:30
chrisbk a écrit : Directx c un truc pour haute perfo et au taf je fais du Java, vois le paradoxe |
tfais du java, toi
Marsh Posté le 12-11-2003 à 16:54:04
benou a écrit : |
J'dis pas qu'il FAUT uriliser Hashtable, je dis qu'il ne faut pas dire que "c'est mal passke c'est nul en perfos"
On va y arriver
Marsh Posté le 12-11-2003 à 16:54:41
benou a écrit : |
l'insulte
-M'enfin ma fille vous n'y pensez pas vous n'allez tout de meme pas vous marrier avec ce....ce....ce
-Ce quoi ?
-Ce sinistre codeur d'applet !
Marsh Posté le 12-11-2003 à 16:55:23
Taiche a écrit : |
je cite :
Citation : Mais très bien pour le multithreading |
Marsh Posté le 12-11-2003 à 16:55:25
benou a écrit : |
depuis mi fevrier je bosse sur "comment optimiser du code Java sur JVM pourryte" (chronique d'un echec annoncé)
Marsh Posté le 12-11-2003 à 16:55:52
benou a écrit :
|
Ouais bon
Marsh Posté le 12-11-2003 à 16:55:54
ReplyMarsh Posté le 12-11-2003 à 17:13:29
De toute façon, c'est la faute à DarkLord
Marsh Posté le 12-11-2003 à 17:13:40
Allez, tout le monde va faire la paix en acceptant qu'il n'est pas recommandé d'utiliser Hashtable au lieu de HashMap car la première inclut une fonctionalité de synchronisation en plus de la seconde, ce qui n'est pas forcément utile dans de nombreuses applications.
fonctionalité pas nécessaire = fonctionalité à éviter de préférence afin d'éviter toute mauvaise surprise ultérieure.
Marsh Posté le 12-11-2003 à 17:14:46
mais vos gueules putain
taiche >
Marsh Posté le 12-11-2003 à 17:17:19
chrisbk a écrit : Ca va Krueger ? Petit probleme de decision ? |
Je voulais faire un edit, mais ça fait apparaître du texte tout moche en-dessous. Et puis j'avais posté depuis quelques secondes, mais visiblement tu as été plus rapide que moi.
Marsh Posté le 12-11-2003 à 17:18:41
je savais pas que mon pauvre post allez relancer la polémique
Marsh Posté le 12-11-2003 à 17:49:24
... et même dans le cas où on a besoin de synchronization, il faut utiliser de préférence une HashMap synchronizée (cf. Collection.synchronizedMap()) plutot qu'une HashTable parce qeu les hashtable c'est hasbeen.
C'est pas que moi qui le dit, c'est sun, et sun c'est bien, donc ce que je dis c'est bien
(Legacy = séquelle)
Marsh Posté le 12-11-2003 à 20:09:56
Pourquoi n'y a t il pas d'equivalent de hashtable.keys(); dans hashMap?
y a juste moyen de récupérer les "values" mais pas toute les clés.
Marsh Posté le 12-11-2003 à 20:12:56
veryfree a écrit : Pourquoi n'y a t il pas d'equivalent de hashtable.keys(); dans hashMap? |
parce que la HashTable ca sux, et qu'ils ont fait ca bien mieux dans la HashMap : http://java.sun.com/j2se/1.4.1/doc [...] l#keySet()
edit : et si la HashTable avait pas été là, ils auraient appelé la méthode keys , ce qui aurait été plus logique => à mort la HashTable, elle salope le Collection Framework !
Marsh Posté le 13-11-2003 à 00:54:51
Taiche a écrit : |
Marsh Posté le 13-11-2003 à 00:55:22
chrisbk a écrit : |
c'etait moi
Marsh Posté le 13-11-2003 à 00:55:47
Taiche a écrit : |
mouarf mais non ct moi et ct pas un pdf
benou a écrit : |
dedjeu...
Marsh Posté le 13-11-2003 à 08:47:19
the real moins moins a écrit : |
si c'était un pdf et c'était Taiche
de toute façon, t'as défendu les hashtables alors je te cause plus
Marsh Posté le 12-11-2003 à 16:00:32
merci