Tableau d'ArrayList

Bonjour,

J'ai été confronté à un problème que je ne trouve dans aucun manuel et les forums sur internet ne sont pas très explicites à cet sujet. J'aimerais bien créer un tableau (voire une matrice) d'arraylist et je n'arrive pas à trouver la syntaxe correcte.

public ArrayList<Personne>[][] Foule;
Foule=new Arraylist[2][6];


Je veux pouvoir créer plusieurs petites listes qui sont dans une matrice (par exemple, il y aurait une liste à la position [1][1], une autre à la position [1][2] etc...). Je souhaite vraiment utiliser cette technique si cela était possible :quelle est la syntaxe de ce constructeur?

Merci d'avance pour votre aide!

3 réponses

  1. Merci à tous pour vos réponses! Je vais potasser tout ça. ;-)
    1. bonsoir,

      voila un exemple simple de matrice pour une classe personne:
      1- j'ai défini la classe personne ailleurs et j'ai y intégré les getters et setters:

      public class Personne {

      private String nom;
      private int age;

      public Personne(String nom, int age)
      {
      this.nom=nom;
      this.age=age;
      }

      public String afficher()
      {
      return "je suis la "+this.getNom()+", et mon age est "+this.getAge()+" ans";
      }
      public String getNom() {
      return nom;
      }
      public void setNom(String nom) {
      this.nom = nom;
      }
      public int getAge() {
      return age;
      }
      public void setAge(int age) {
      this.age = age;
      }
      }

      2- la classe Test qui fait appelle a la methode main()

      public class Test {

      public static void main(String[] args) {
      Personne matrice [][]= new Personne[2][3];
      //Enregistrer les personnes
      for (int i=0;i<2;i++)
      {
      for(int j=0;j<3;j++)
      {
      matrice[i][j]= new Personne("Personne ("+i+") ("+j+")", (i+1)*(j+1));
      }
      }
      //Afficher la matrice Personne
      for (int i=0;i<2;i++)
      {
      for(int j=0;j<3;j++)
      {
      System.out.println(matrice[i][j].afficher());
      }
      }
      }

      }

      résultat d'exécution:

      je suis la Personne (0) (0), et mon age est 1 ans
      je suis la Personne (0) (1), et mon age est 2 ans
      je suis la Personne (0) (2), et mon age est 3 ans
      je suis la Personne (1) (0), et mon age est 2 ans
      je suis la Personne (1) (1), et mon age est 4 ans
      je suis la Personne (1) (2), et mon age est 6 ans

      bonne chance
      1. Modérateur
        Tu ne peux pas utiliser des tableaux sur des Collection, il faut utiliser une combinaison de Collection (un ArrayList, c'est un tableau...)

        Donc on peux faire : ArrayList<ArrayList<ArrayList<Personne>>> foule;
        Et après faire des Personne p = foule.get(3).get(1).get(5); par exemple.

        Mais on peut aussi utiliser faire des Collection personnalisées afin d'avoir des manipulations comme Personne p = foule.get(3,1,5); selon tes besoins...