Accéder à une case d'un ArrayList à 2 dimensions

Résolu
Monolith -  
 Monolith -
Salut,
J'aimerais pouvoir connaitre et modifier la valeur d'une case d'un ArrayList à 2 dimensions à partir de ses indices i et j.
Voici la déclaration de mon ArrayList :
      protected ArrayList<ArrayList<Batiment>> coordonnesB = new ArrayList<ArrayList<Batiment>>();

Il s'agit d'un tableau à 2 dimensions dont chaque case contient un objet de type Bâtiment.
Merci pour vos futures réponses.
A voir également:

2 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

Formellement il ne s'agit pas d'une ArrayList à deux dimensions (ça n'existe pas), mais plutôt d'une imbrication d'ArrayList l'une dans l'autre.

Pour accéder à la valeur aux indices (i,j), il faut d'abord récupérer la liste qui est à l'indice i, avant d'accéder à son élément qui est à l'indice j.

Batiment b = coordonnesB.get(i).get(j);

Remarque : il pourrait être plus efficace de travailler avec une Map dont les valeurs seront tes Batiment et où les clés seraient le couple d'indice.

Exemple :
Map<java.awt.Point,Batiment> map;
Batiment b = map.get(new Point(i,j));
0
Monolith
 
J'étais passé à une autre méthode, mais merci beaucoup.
0