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

  1. #1
    Nouveau Candidat au Club
    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
    Points : 0
    Points
    0
    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
    Nouveau membre du Club
    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
    Points : 27
    Points
    27
    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 averti 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
    Points : 350
    Points
    350
    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 ?
    F*ck it ! Do it !

  4. #4
    Nouveau membre du Club
    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
    Points : 27
    Points
    27
    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 expérimenté 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
    Points : 1 622
    Points
    1 622
    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 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    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

  7. #7
    Membre expérimenté 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
    Points : 1 622
    Points
    1 622
    Par défaut
    Citation Envoyé par thelvin Voir le message
    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...
    Ici à rien on est bien d'accord, cependant si on se place dans un cas général il est à mon sens préférable de nommer des classes avec des noms explicite.
    Écrire que deux classes Chat et Chien héritent de la classe Object n'est pas vraiment une bonne idée, il vaut mieux passer par une classe Animaux générique.

    C'était juste pour l'exemple.

    Par contre je pense que simplement expliquer que l'on peut peux stocker un peu tout ce que l'on veut dans un tableau d'Object n'est pas une bonne chose si on ne précise pas qu'il faut prendre un minimum de précaution pour le faire.

    Ecrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    new Object[] { "a", 12, "a15", "15a", 1991 },
      new Object[] { "b", 12, "15b", 1992 },
      new Object[] { 12, "b15", 1993 } };
    Marche dans le cas ou on connait l'ordre des données à exploiter.

    Mais selon le traitement à effectuer dessus on va droit dans le mur..

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