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

[Résolu/Fermé]
Signaler
-
 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.

2 réponses

Messages postés
16400
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2021
2 879
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));
J'étais passé à une autre méthode, mais merci beaucoup.