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

avec Java Discussion :

stocker des elements différents dans même enregistrement


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 4
    Par défaut stocker des elements différents dans même enregistrement
    comment je peut stocker les éléments suivant en java dans mémé enregistrement avec Arraylist ou list...? ou tableaux a dimension ??

    exemples:
    pour chaque ligne j'ai des informations
    1=>{"a",12,"a15","15a",1991}
    2=>{"b",12,"15b",1992}
    3=>{12,"b15",1993}

  2. #2
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2013
    Messages : 7
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Object[] objs = new Object[] {
      new Object[] { "a", 12, "a15", "15a", 1991 },
      new Object[] { "b", 12, "15b", 1992 },
      new Object[] { 12, "b15", 1993 } };
    Et pour récupérer tes objets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Object o = objs[0][2]; // donne "a15"
    Mais, si je peux me permettre, si tu utilise une structure comme ça, il y a de grande chances que tu ailles au devants de pas mal de problèmes (tout dépend de l'usage en fait mais en général, ça vas mal finir).

  3. #3
    Membre chevronné Avatar de toutgrego
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2013
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2013
    Messages : 217
    Par défaut
    Citation Envoyé par Pignic Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Object[] objs = new Object[] {
      new Object[] { "a", 12, "a15", "15a", 1991 },
      new Object[] { "b", 12, "15b", 1992 },
      new Object[] { 12, "b15", 1993 } };
    Et pour récupérer tes objets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Object o = objs[0][2]; // donne "a15"
    Mais, si je peux me permettre, si tu utilise une structure comme ça, il y a de grande chances que tu ailles au devants de pas mal de problèmes (tout dépend de l'usage en fait mais en général, ça vas mal finir).
    Créer un objet spécifique et le mettre dans un ArrayList (ou autre) no ?

  4. #4
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2013
    Messages : 7
    Par défaut
    Bah c'est sur que, créer une structure avec des objets, serait plus convenable mais on ne peut pas extrapoler sans une définition plus précise du besoin... Vu que les données à mettre dans les éléments du tableau ne semble pas avoir de structure particulière.

  5. #5
    Membre Expert Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Par défaut
    Il est clair que sans définition plus précise du besoin il est difficile de répondre à cette question..

    Mais dans un cadre général tu peux aussi utiliser l'héritage pour faire ça.

    Tu crées une classe abstraite MonObjet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public abstract class MonObjet {
     
       Objet maDonnee;
     
       public MonObjet( Object val ){ maDonnee = val }
     
       public void setMaDonnee( Object value ){ maDonnee = val; }
       public Object getMaDonnee( return maDonnee );
     
       public abstract String toString();
     
    }
    Ensuite tu définies une classe pour chaque type de donnée que tu utilises (String, Integer, UnAutreObjet ) que tu va faire hériter de ta classe objet de base.

    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
     
    public class MaClasseString extends MonObjet {
     
       public MaClasseString ( String val ){ super(val) }
     
       public String toString() { return (String)maDonnee; }
     
    }
     
    public class MaClasseInteger extends MonObjet {
     
       public MaClasseString ( Integer val ){ super(val) }
     
       public String toString() { return Integer.toString(maDonnee); }
     
    }
    Et ensuite tu peux stocker tout ça dans un tableau de MonObjet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    ArrayList<MonObjet> liste = new ArrayList<MonObjet>();
     
    liste.add( new MaClasseInteger(1)  );
    liste.add( new MaClasseString("toto") );
     
    liste.get(0).toString();
    liste.get(1).toString();
    On appelle cette technique le polymorphisme. Je te conseille de regarder ça de plus près .

    Après il est bien évident que cette méthode s'applique pour un cas général et est un peu lourde à mettre en place dans un cas très simple comme celui que tu nous décris.

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par Nico02 Voir le message
    Après il est bien évident que cette méthode s'applique pour un cas général et est un peu lourde à mettre en place dans un cas très simple comme celui que tu nous décris.
    Sans parler de sa lourdeur, je ne vois pas à quoi elle sert.

    Quel est l'intérêt d'utiliser MonObjet au lieu de juste le type Object ? Il ne me semble pas qu'il y en ait un...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 17
    Dernier message: 18/01/2013, 00h47
  2. [AC-2003] imputer des taux différents dans chaque colonne d'un même formulaire
    Par Ardiden31 dans le forum VBA Access
    Réponses: 16
    Dernier message: 16/04/2012, 14h28
  3. Réponses: 8
    Dernier message: 02/12/2010, 19h39
  4. Réponses: 7
    Dernier message: 13/10/2006, 00h45
  5. Réponses: 3
    Dernier message: 15/04/2004, 08h44

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