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 :

Créer des instances en boucle


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 19
    Par défaut Créer des instances en boucle
    Désolé de poser une question aussi basique ... mais il semble que la recherche sur ce critère (libellé de mainte manières) ne donne rien.

    Pour tester une application, de voudrais nommer les instance d'une classe automatiquement dans une boucle de 1 à X ... mais je ne trouve pas le truc.

    un code du style ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (int i = 1 ; i <=5 ; i++)
    {
      MaClasse ("monInstance"+i) = new MaClasse(...);
    }
    Quelqu'un connait une solution ?
    Merci d'avance...

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 35
    Par défaut
    Salut,

    J'avais posté un truc dans le même esprit une fois :

    http://www.developpez.net/forums/sho...d.php?t=512143

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 35
    Par défaut
    Donc ouais,
    en gros je sais pas si ça t'irait, mais moi j'avais du faire un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    HashMap<String, MaClasse> mymap = new HashMap<String, MaClasse>();
     
    for (int i=0; i<5; i++)
         mymap.put("instance"+i, new MyClasse());
    et donc apres tu peux recuperer tes instances en faisant
    mymap.get("instance"+i);
    avec i=numero de l'instance

  4. #4
    Membre expérimenté Avatar de Tux++
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    281
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 281
    Par défaut
    ca me parait quand-même plus simple de faire un tableau d'instances

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 35
    Par défaut
    oui, mais la hashmap permet de pouvoir donner le nom que tu veux (pas un
    simple numéro) à tes instances. Si ça t'es pas nécessaire, effectivement....

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 19
    Par défaut HashMap !!
    OK pour l'idée ... mais pourquoi une Map ?
    En dehors de l'absence de doublons, quel avantage ?
    Quelle est la paire clé-valeur dans ce cas ?

    C'est pas un peu lourd de devoir utiliser un iterator après ?

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 19
    Par défaut
    Citation Envoyé par Tux++ Voir le message
    ca me parait quand-même plus simple de faire un tableau d'instances
    Voici un bout de code d'essai avec un String[] ... sans succès

    public static void main(String[] args) {

    EtagereProduitsBruts etagereBruts = new EtagereProduitsBruts(1,6);


    String[] nomsP = { "Alan","Boby","Carl","Dany","Eric"};

    for(int i=0 ; i < nomsP.length ; i++)
    {

    Producteur ("producteur"+(i+1)) = new Producteur(monP[i], (i+1), etagereBruts);
    //producteur1.setName("thread producteur1");
    //producteur1.isDaemeon(true);
    //producteur1.start()
    }

    }

  8. #8
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 051
    Par défaut
    Salut,

    Ta notation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Producteur ("producteur"+(i+1)) = new ...
    est impropre. C'est une syntaxe qui n'appartient pas a Java. Il n'y a aucune chance qu'il te comprenne.

    Puisque tu veux seulement nommer tes objets pour débugger :
    1. Si tes composants sont des Component tu peux utiliser la méthode setName(String) pour les nommer et getName() pour récupérer ce nom.
    2. Si tes objets ne sont pas des Component, tu peut créer un attribut pour Producteur avec ses accesseurs. En quelque sorte recréer la propriété des Component évoqué en 1.
    3. Sinon la Map reste la dernière possbilité : la paire clé/valeur sera le nom et l'objet en lui même. L'iteration est lourd si tu as des centaines de milliers d'itération a faire, si tu juste quelques objets c'est négligeable.

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

Discussions similaires

  1. Créer des répertoires en boucle à partir d'un JTextArea
    Par electr0n dans le forum Composants
    Réponses: 3
    Dernier message: 27/04/2012, 23h26
  2. Réponses: 12
    Dernier message: 16/11/2011, 17h41
  3. [GMF] Créer des instances d'éléments par programmation
    Par hashas dans le forum Eclipse Modeling
    Réponses: 1
    Dernier message: 03/08/2010, 23h20
  4. Créer des instances de classes EMF dans Eclipse avec une jolie IHM
    Par obernard dans le forum Eclipse Platform
    Réponses: 3
    Dernier message: 24/02/2009, 19h21

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