1 réponse
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
22 juin 2014 à 17:31
22 juin 2014 à 17:31
Bonjour,
Déjà il ne faut plus utiliser Hashtable, il y a la classe ConcurrentHashMap à la place, même si dans la plupart des cas une HashMap suffira.
Ensuite, cela dépend ce que tu veux faire, une map est composé de clés/valeurs, alors qu'une liste n'est composé que de valeurs.
Donc si tu passes d'une liste à une map, qu'est-ce que tu vas prendre comme clé ?
Dans l'autre sens, qu'est-ce que tu fais des clés quand tu passes d'une map à une liste ?
Remarque : une liste a un ordre, alors que les Map n'en ont pas (il y a éventuellement un ordre sur les clés, mais pas sur les valeurs)
Déjà il ne faut plus utiliser Hashtable, il y a la classe ConcurrentHashMap à la place, même si dans la plupart des cas une HashMap suffira.
Ensuite, cela dépend ce que tu veux faire, une map est composé de clés/valeurs, alors qu'une liste n'est composé que de valeurs.
Donc si tu passes d'une liste à une map, qu'est-ce que tu vas prendre comme clé ?
Dans l'autre sens, qu'est-ce que tu fais des clés quand tu passes d'une map à une liste ?
Remarque : une liste a un ordre, alors que les Map n'en ont pas (il y a éventuellement un ordre sur les clés, mais pas sur les valeurs)
22 juin 2014 à 19:13
Je te remercie pour la réponse.En fait, c'est une question d'un examen dont je savais pas comment le prof conçoit les choses, je vx juste une réponse de façon générale.Si on passe de Hashtable à ArrayList, comment on gère les clès et comment on procède dans le cas inverse? ^^
22 juin 2014 à 19:31
Dans l'interface Map tu as donc une méthode entrySet() qui permet de récupérer l'ensemble de ces clés/valeurs, mais c'est un Set (sans ordre), pas une List (avec ordre). Tu peux évidemment faire la conversion après en List si tu veux.
Après dans l'autre sens, en supposant que tu ais bien une List<Entry<X,Y>> tu peux reconstruire une Map<X,Y> il suffit de faire des put successifs.
Modifié par fafa le 22/06/2014 à 20:08