Arraylist d'arraylist

Résolu/Fermé
loop - 13 mai 2009 à 10:06
 loop - 13 mai 2009 à 11:02
Bonjour,

J'ai une ArrayList<ArrayList<String>> equips
Je lui ajoute des éléments...

Puis, à un moment, je veux modifier des éléments
et en tapant equips.get(i).get(j) = "";
Eclipse me dit : The left-hand side of an assignment must be a variable

Bon, je comprends que je n'accède pas bien à mon String mais alors, comment fait-on?

J'ai bien regardé sur les forum et je n'ai pas vu qqch d'autre. Le caster en String (alors que ce devrait être un String) ne change rien.

Merci par avance de ma question (sûrement très bête...)

1 réponse

sandul Messages postés 3927 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 723
13 mai 2009 à 10:39
Hello,

La méthode get() sur un objet List (donc sur un ArrayList aussi) te retourne l'objet situé à telle position. Tu ne peux pas avoir ceci dans la partie gauche d'un assignement, mais tu pourrais tenter ceci:
// ne marche pas: String est immuable!
String temp = (String)equips.get(i).get(j);
temp = "";
La syntaxe est correcte mais le résultat ne sera pas celui attendu (le contenu de la liste ne sera pas modifié!) Si la liste contenait des java.util.Calendar, par exemple, le code suivant serait OK:
// modifie bien le contenu de la liste!
Calendar temp = (Calendar)equips.get(i).get(j);
temp.set(Calendar.DATE, 5);
Pour une liste de String ce qu'il te reste à faire si tu veux modifier le contenu de la liste est:
1. tu fais un list.remove(index); // suppression de l'élément à la position 'index'
2. tu fais un list.add(newString, index); // rajout d'un autre élément à la même position

++
1
Salut,

J'ai fait un remove puis un add et ça a l'air de marcher...

Merci beaucoup pour cette réponse si rapide.
0