Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1141 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Générer des noms d'ArrayList dans un programme

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Générer des noms d'ArrayList dans un programme

n°2172171
damtoul
Un boulot!
Posté le 22-01-2013 à 12:20:20  profilanswer
 

Bonjour,  
 
Je voudrais générer des ArrayList dans une fonction mais je coince sur la génération des noms de ces ArrayList. Je débute en Java, je ne trouve pas l'info qui me va sur le net, et à tout dire je ne sais même pas si c'est possible.
 
Bref en gros je veux faire ça
 

Code :
  1. compteur++;
  2. String s="nom";
  3. s="nom"+compteur;
  4. ArrayList<Integer> s=new ArrayList<Integer>();


 
Je ne sais pas si mon code vous parait clair? Le but c'est de générer des ArrayList d'entiers avec pour noms nom1, nom2,nom3, etc.... Bien évidemment le code ci-dessus ne marche pas. Solution?
 
Merci d'avance.    [:cerveau goret]


---------------
Plouf plouf!
mood
Publicité
Posté le 22-01-2013 à 12:20:20  profilanswer
 

n°2172185
gilou
Modérateur
Modzilla
Posté le 22-01-2013 à 14:19:29  profilanswer
 

Vu ce que tu fais, passes par un tableau d'arraylist indexé par ton compteur (ou une pile d'arraylist si tu ne sais pas combien il y en aura en tout) tableau nommé avec ta string nom.
Tu aura alors des arraylist nommées nom[i] ce qui est pas loin de ce que tu voulais.
A+,


Message édité par gilou le 22-01-2013 à 14:21:46

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2172194
damtoul
Un boulot!
Posté le 22-01-2013 à 14:47:32  profilanswer
 

Ah bah merci Gilou.    :jap:  
 
Je ne connaissais pas et ce n'est pas dans mon cours mais au moins je vais pouvoir avancer et faire à mon idée.  :)


---------------
Plouf plouf!
n°2172196
gilou
Modérateur
Modzilla
Posté le 22-01-2013 à 15:16:56  profilanswer
 

Notes que pour savoir si c'était la solution adaptée à ton pb, il nous aurait fallu avoir le code complet de ta fonction et de son contexte d'appel.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2172197
damtoul
Un boulot!
Posté le 22-01-2013 à 15:24:43  profilanswer
 

Finalement je reviens car ça ne me va pas.   :/

 

L'idéal c'est que je fasse une ArrayList d'ArrayList d'entiers. Le but c'est de pouvoir travailler dessus dynamiquement. Hors avec les tableaux d'ArrayList c'est statique.

 

Ma base de départ c'est donc :

Code :
  1. ArrayList<ArrayList<Integer>> liste=new ArrayList<ArrayList<Integer<>();
 

Et après je peux travailler sur chaque ArrayList d'entiers que j'ajoute :

Code :
  1. ArrayList<Integer> list1=new ArrayList<Integer>();
  2.    ArrayList<Integer> list2=new ArrayList<Integer>();
  3. liste.add(list1);
  4. liste.add(list2);
  5. list1.add(8);
 

Tout cela fonctionne bien, hormis que je veux incrémenter le nom de mes listes automatiquement dans le programme, avec l'appel d'une fonction ajoutListe() par exemple. Soit ça se fait automatiquement dans la fonction, soit au pire en mettant le nom en argument de la future liste.

 

Et là je bloque pour la création automatique des noms d'Arrayliste. Ca serait si simple de faire comme j'ai écrit au début String s+compteur, mais non pas possible.     :fou:

 

Edit : Et le code je ne peux pas te l'afficher car de construire quelque chose j'aime bien avoir mes outils et briques prêts.  :D Et là il me manque clairement un outil.  :D :D


Message édité par damtoul le 22-01-2013 à 15:31:03

---------------
Plouf plouf!
n°2172199
willy le k​id
Posté le 22-01-2013 à 15:50:00  profilanswer
 

Il n'y a pas de variable "nom d'objet" en java.
 
Les mettre dans une Hashmap avec ta String ("nom"+compteur)  
en key et la List en value?
 

n°2172200
damtoul
Un boulot!
Posté le 22-01-2013 à 16:04:29  profilanswer
 

Hashmap pas encore vu en cours donc je ne suis pas sensé m'en servir.
 
Si aucune solution simple n'existe je verrai avec le prof, tant pis.   :D


---------------
Plouf plouf!
n°2172208
gilou
Modérateur
Modzilla
Posté le 22-01-2013 à 16:35:01  profilanswer
 

Citation :

Le but c'est de pouvoir travailler dessus dynamiquement. Hors avec les tableaux d'ArrayList c'est statique.

D'ou mon commentaire

Citation :

(ou une pile d'arraylist si tu ne sais pas combien il y en aura en tout)

J'avais dit pile, car en fait tu as juste besoin d'un conteneur dont les éléments sont indexés par un entier qui ne change pas au fur et a mesure de tes ajouts, mais si tu préfères un autre niveau d'ArrayList, pourquoi pas.

 

Un truc dans ce genre la? (ça fait un bout de temps que j'ai pas touché au java, la je transpose du C++ ou ça serait plus simple car j'aurais droit aux [])
ArrayList<ArrayList<Integer>> liste=new ArrayList<ArrayList<Integer<>>();
liste.add(cpt, new ArrayList<Integer>()); // et si ça passe pas direct, on passe par un ArrayList<Integer> temporaire.
liste.get(i).add(j, num); pour ajouter num a la j-éme position de la i-eme liste (modulo +1 si le premier indice d'une  liste java est 0)
Bref tu utilises les listes liste.get(i) en lieu et place de tes arraylists nom+i. Tu vois le principe.

 

A+,


Message édité par gilou le 22-01-2013 à 18:23:08

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2172211
damtoul
Un boulot!
Posté le 22-01-2013 à 17:03:20  profilanswer
 

Ouaip je vois le principe et ça me semble très bien!
Dès que je peux je teste ça et je te fais le retour.
 
Merci beaucoup pour tes conseils.    :jap:  
(et oui le premier indice d'une liste java est 0).


---------------
Plouf plouf!
n°2172468
damtoul
Un boulot!
Posté le 24-01-2013 à 10:41:08  profilanswer
 

Gilou et Willy merci pour vos conseils.     :jap:  
 
J'ai réussi à faire ce que je voulais : gérer des ensembles d'entiers à partir d'un menu (création, modif, affichage, concaténation, analyses).
 
En lisant vos conseils et après discussion avec mon prof qui ne comprenait pas trop ce que je voulais dire/faire, en fait je m'étais complètement fourvoyé. Comme dit Willy les objets n'ont pas de nom en java, il suffit de les créer puis de les appeler par leur indice avec des get(i) pour ensuite travailler dessus.
 
Le code en lui-même n'a pas grand intérêt, je ne le posterai que si quelqu'un est intéressé.
 
Encore merci, j'ai progressé et appris et compris plein de choses.     :jap:  :sol:


---------------
Plouf plouf!

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Générer des noms d'ArrayList dans un programme

 

Sujets relatifs
Programme colonneProgramme de tri de fichier
Programme en CExtraire les noms et les verbes du Lexique dans deux fichiers.
parcours d'une arraylistProgramme informatique
je veux commander ma carte son (ON/OFF) via un petit programme...Cherche à créer un ficher avec 6400 noms (numéro.numéro.jpg)
Programme morpion[C/Reseau] proxy FTP (simple) en C
Plus de sujets relatifs à : Générer des noms d'ArrayList dans un programme


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR