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 :

Commen faire un arrayList composé de deux arrayList


Sujet :

Collection et Stream Java

  1. #1
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 13
    Par défaut Commen faire un arrayList composé de deux arrayList
    Bonjour j'ai deux arrayList, un contenant des entiers, le second des objets.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public ArrayList arrayId = new ArrayList();
    public ArrayList<Metric> arrayMetric = new ArrayList<Metric>();
    J'ai pas trouvé d'exemples de codes, j'aimerais avoir un arrayList contenant ces deux arrayList.

    Où pour détourner le problème, est-ce qu'on peut faire un arrayList avec deux colonnes comme dans une table de BD?

    Merci
    ++

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par tululululu Voir le message

    J'ai pas trouvé d'exemples de codes, j'aimerais avoir un arrayList contenant ces deux arrayList.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ArrayList<Object> grosseListe = new ArrayList<Object>();
    grosseListe.addAll(arrayId);
    grosseListe.addAll(arrayMetric);
    mais l'intérêt me semble limité

    Où pour détourner le problème, est-ce qu'on peut faire un arrayList avec deux colonnes comme dans une table de BD?

    Merci
    ++
    Si c'est une relation clé -> valeur et en supposant deux listes de même taille:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Map<Object,Metric> map = new HashMap<Object,Metric> ();
    for (int i = 0; i< arrayId.size(); i++){
        map.put(arrayId.get(i),arrayMetric.get(I));
    }
    Sinon, tu va devoir créer un classe qui stocke une paire (Id, metric), et stocker des instances de cette classe dans ta liste.

  3. #3
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Par défaut
    Tu cherches à modéliser quoi exactement ?

  4. #4
    Membre Expert Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Par défaut
    De souvenir dans un arrayList tu as un "id" et un "Objet". Et ça peut donner ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public ArrayList<SuperHeros> aSH= new ArrayList<SuperHeros>();
    Contenu de l''arraylist :
    id | Objet
    1  | Batman
    2  | Superman
    3  | Spiderman
    ...
    ça ressemble étrangement à une table avec deux colonnes. Peut être que tu veux faire compliquer alors qu'il y a simple ?

    A méditer

  5. #5
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 13
    Par défaut
    Bonjour merci pour vos réponses, j'avais fait une simple arrayList pour avancer dans mes tests.

    Maintenant j'ai abandonné l'idée de faire un arrayList contenant deux arrayList.

    Je dois faire une Hashtable (ou Hashmap) pour optimiser ce que j'ai fait.

    Ivelios dans l'exemple de contenu que tu nous montre, on vois des id associés à des objets SuperHeros, mais dans le code je vois qu'une collection d'objet SuperHeros sans aucun ID associé alors est-ce qu'il ya un id caché quelque part ou tu considère que l'id c'est l'indice ou alors un simple attribut de ton objet?

    Patriarch24 ce que je cherche à faire c'est d'avoir un ID associé à un objet Metric, et une clé (hashtable) qui pointe vers un ID.

    J'ai pensé à deux solutions :

    1ere solution : Objet Metric ayant un attribut ID, et des clés uniques qui pointent vers un objet Metric ou vers son ID.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public ArrayList<Metric> arrayMetric = new ArrayList<Metric>();
    2e solution : Avoir une collection ID -> Objet Metric(comme dans l'exemple de Ivelios), donc dans ce cas l'objet Metric n'aura pas d'attribut ID. Et une clé qui pointe vers un ID de la collection.

    Je sais pas trop encore comment faire la Hashtable donc allez au boulot !!

  6. #6
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public Map<IdType, Metric> metrics = ....
     
    (...)
    class Metric {
        private IdType id;
        (...)
    }

Discussions similaires

  1. Valeurs de deux ArrayList
    Par Caypamoi dans le forum Collection et Stream
    Réponses: 14
    Dernier message: 27/11/2013, 21h30
  2. La différence entre deux ArrayList
    Par loudji dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 21/07/2013, 18h24
  3. Comment faire actionner l'item d'un ArrayList ?
    Par zwawa89 dans le forum Android
    Réponses: 1
    Dernier message: 31/01/2011, 10h06
  4. comparer deux ArrayList
    Par hibernatefun dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 20/12/2008, 12h01
  5. Concatener deux ArrayList
    Par L4BiN dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 04/07/2006, 12h59

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