Hashtable dans une boucle for
Bonjour,
J'ai un souci dans un code (java évidemment)
Je veux créer une hashtable de listes.
Cette table est remplie dans une boucle.
Or, le 'put' ne s'exécute, apparemment qu'en fin de cycle avec la dernière liste créée.
Voici mes déclarations :
Code:
1 2 3
| private Hashtable<Integer,Object> ht = new Hashtable<Integer,Object>();
private ArrayList<String> liste = new ArrayList<String>();
private Integer i; |
je lance ma boucle :
Code:
1 2 3 4 5 6 7 8
| for (i=1; i<20; i++)
{
liste.clear();
liste.add(String.valueOf(i));
liste.add(String.valueOf(2*i));
liste.add(String.valueOf(2*i+1));
ht.put(i, liste);
} |
je devrais obtenir :
Citation:
{1=[1, 2, 3]
2=[2, 4, 5]
3=[3, 6, 7]
...
19=[19, 38, 39]}
mais j'obtiens :
Citation:
19={[19, 38, 39],
18=[19, 38, 39],
17=[19, 38, 39],
...
1=[19, 38, 39]}
Qu'est-ce que je ne fais pas bien ?
Merci d'avance pour vos pistes.