IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

Tableau à 5 dimensions


Sujet :

Collection et Stream Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Tableau à 5 dimensions
    Bonjour,

    Je réalise en ce moment une application android dans laquelle j'utilise une liste dépliante à 4 niveaux. Celle-ci nécessite l'utilisation d'un tableau à 5 dimensions dans lequel je dois placer mon arborescence que je récupère de mon parseur XML.
    Je récupère donc un ArrayList de la forme suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    0 ---- INFO
    1 ---- INFO1
    2 ---- TD11
    3 ---- TPA
    3 ---- TPB
    2 ---- TD12
    3 ---- TPC
    3 ---- TPD
    1 ---- INFO2
    2 ---- TD1
    3 ---- TPA
    3 ---- TPB
    2 ---- TD2
    3 ---- TPC
    3 ---- TPD
    1 ---- LP_SIL
    2 ---- TD1
    3 ---- TPA
    3 ---- TPB
    /*
    * ArrayList<Arborescence>
    * Avec un type (l'entier) et un nom (le String)
    * 0 -> Département
    * 1 -> Promotion
    * 2 -> GroupeTD
    * 3 -> GroupeTP
    */

    Je dois donc placer cette Arborescence dans un tableau de String à 5 dimensions, j'arrive à créer le tableau en dur, mais pas dynamiquement.
    Voici le tableau en dur (incomplet):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    String tab[][][][][] = 
    		{
    		{
    			{
    				{
    					{"INFO", ""},
    					{"INFO1", ""},
    					{"TD11", ""},
    					{"TPA", ""},
    					{"TPB", ""}
    				},
    				{
    					{"INFO", ""},
    					{"INFO1", ""},
    					{"TD12", ""},
    					{"TPC", ""},
    					{"TPD", ""}
    				}
    			},
    			{
    				{
    					{"INFO", ""},
    					{"INFO2", ""},
    					{"TD21", ""},
    					{"TPA", ""},
    					{"TPB", ""}
    				},
    				{
    					{"INFO", ""},
    					{"INFO2", ""},
    					{"TD22", ""},
    					{"TPC", ""},
    					{"TPD", ""}
    				}
    			},
    			{
    				{
    					{"INFO", ""},
    					{"LP_SIL", ""},
    					{"TD", ""},
    					{"ALT", ""},
    					{"NON_ALT", ""}
    				}
    			}
    		}
    		};
    J'ai essayer plusieurs algo, mais sans succès pour le moment. Si quelqu'un a une idée je lui en serais reconnaissant !

    En espérant avoir été assez clair,
    Merci d'avance,

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Java / JEE
    Inscrit en
    Février 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java / JEE

    Informations forums :
    Inscription : Février 2008
    Messages : 185
    Points : 293
    Points
    293
    Par défaut
    Bonjour,

    Soit tu fais une ArrayList de ArrayList de ArrayList de etc... Soit tu utilises un modèle objet :

    Classe "Racine" qui contient une liste de "Departement"
    Classe "Departement" qui contient une liste de "Promotion"
    Classe "Promotion" qui contient une liste de" GroupeTD"
    etc...

    Avantage du modèle objet c'est que c'est plus facile à lire et surtout tu pourras rajouter des attributs à tes objets genre "selected" ou autre.

    Mathieu

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Tout d'abord merci pour ta réponse.
    Mais le problème est que j'utilise une classe pour l'ExpandableListView récupérée et que je vois pas trop comment modifier celle-ci pour qu'elle n'utilise plus un tableau mais une ArrayList.
    Voici ce que j'utilise: http://mylifewithandroid.blogspot.fr...ist-views.html

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Points : 1 825
    Points
    1 825
    Par défaut
    il y a aussi les multimap qui permettent de faire cela.

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Java / JEE
    Inscrit en
    Février 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java / JEE

    Informations forums :
    Inscription : Février 2008
    Messages : 185
    Points : 293
    Points
    293
    Par défaut
    A partir de ton modèle objet, tu te fais une méthode à chaque niveau qui te retourne un tableau généré à partir de la liste, genre String[] getDataList();
    Chaque niveau agrège son sous-niveau. Du coup tout en haut tu auras le tableau bien rempli.

    Mathieu

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Il faudrait donc que je créé une classe par niveau et que j'y ajoute une méthode qui retournerai un simple tableau avec la list. Jusque là ça va, mais comment faire le lien entre 2 niveaux ?

    Merci d'avance,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Collections] lecture tableau 2 dimensions
    Par heloise dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 30/09/2004, 10h49
  2. [tableau à 2 dimensions] association String et float
    Par LoLoSS dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 12/07/2004, 10h53
  3. Tableau à n dimensions
    Par youb dans le forum MFC
    Réponses: 10
    Dernier message: 13/05/2004, 14h13
  4. Passage d'un tableau à deux dimensions
    Par karl3i dans le forum C
    Réponses: 3
    Dernier message: 20/10/2003, 14h50
  5. Réponses: 23
    Dernier message: 21/08/2003, 07h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo