Charger un HashTable dans une List

Charger un HashTable dans une List - Java - Programmation

Marsh Posté le 30-01-2008 à 17:10:07    

J'ai realise une petite application de chat en java et je veux charger les gens connectes enregistres dans un hashtable vers une Lis ou JList

Reply

Marsh Posté le 30-01-2008 à 17:10:07   

Reply

Marsh Posté le 30-01-2008 à 20:06:47    

c't'intérressant.

 

moi jaimerai arriver à comprendre pourquoi j'ai des trous dans certaines de mes séquences avec hibernate.

 

sinon :

Code :
  1. new ArrayList(hashTable.values())

?


Message édité par brisssou le 30-01-2008 à 20:15:55

---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 01-02-2008 à 16:42:06    

regarde la doc, et comprend que la méthode values() ne synchronise pas les objets qui y sont contenu, seulement le conteneur. De plus les valeurs associées aux clés peuvent être nulles temporairement avec le comportement optimiste (et il n'est pas interdit non plus de stocker des valeurs nulles si ta base de données ne renforce pas cette contrainte, sachant qu'il y a aussi des filtres sur les espaces, ou similaires, des valeurs non convertibles si le type de binding sur tes champs de donénes ne corespond pas exactement au type de ta base SQL, qui est aussi sans doûte manipulée séparément si tu n'a pas pris soin de faire une transaction pour avoir une vue stable: attention aux lignes effacées avec DELETE dans d'autres sessions, Hibernate ne résoud pas tous les problèmes de gestion des sessions et possède lui aussi un comportement optimiste).
Ce n'est pas parceque ta HashTable est synchronisée que tu dois t'attendre à ce que les valeurs qu'il contient soient non nulles. (Note bien: HashTable n'est pas une Collection, seule HashMap en est une, mais n'est pas du tout synchronisée).
Exempel de problème: hasNext() et next() sont peut-être synchronisés, mais si la HshTable n'est pas elle-même verrouillée, il y a la possibilité que le retour de hasNext() autoise un autre thread à modifier le contenu de la HashTable avant que tu obtienne le droit de lire l'élément suivant de la liste. HashTable en particulier doit parcourir les listes de hashbuckets (qui sont "vivantes" ), en utilisant un énumérateur avec plusieurs variables complexes.
Mais je serais toi je me poserais plutôt des questions d'abord sur les bindings de type entre les colonnes SQL et tes attributs d'objets en Java...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed