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

Résolu/Fermé
Monolith - Modifié par Monolith le 21/03/2015 à 17:16
 Monolith - 22 mars 2015 à 16:24
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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
21 mars 2015 à 18:27
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
J'étais passé à une autre méthode, mais merci beaucoup.
0