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 :

Nettoyage d’un tableau


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Par défaut Nettoyage d’un tableau
    Bonjour a tous !!

    Tout d’abord merci beaucoup pour m’avoir aidé pour la résolution de mon problème sur mes boucles.

    Mon nouveau problème est :

    Je dispose d’un tableau de String comportant uniquement des valeurs numérique (je souhaite garder un tableau de string) comme présent dans l’exemple ci-dessous :

    22
    24
    22
    26
    26
    25
    25
    22
    24
    ..

    J’aimerais, a partir de se tableau, recréer un nouveau tableau mais cette fois-ci comportant uniquement les valeurs NON DOUBLE, comme dans l’exemple ci-dessous :
    22
    24
    26
    25
    ..

    Je voudrais savoir quelle méthode utiliser pour pouvoir avoir un tableau NETTOYER comportant aucune valeur en double.

    Merci beaucoup de votre aide et a bientôt !!

    Cordialement, Mickael

  2. #2
    Membre chevronné Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Par défaut
    Tu peux utiliser une implémentation de collection de type "Set", comme un java.util.HashSet qui n'autorise pas l'insertion de doublons.
    Donc tu crée le HashSet, tu ajoute tout les élements de ton tableau dedans, puis tu le converti en tableau avec la méthode toArray.

  3. #3
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Ou tout simplement par programmation t'inseres tes elements dans une ArrayList en faisant un test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!liste.contains(element){liste.add(element)}

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Par défaut
    mon tableau est présenter comme ceci :
    22
    23
    24
    22
    23
    25
    ...

    avec la méthode HasSet, il me retourne un resultat comme ici :
    22,23,24,25

    or moi je le voudrais :
    22
    23
    24
    25

    comme cela je pourrai utiliser la méthode suivante :
    noDoublons[0];
    noDoublons[1];
    ...

    mais comment faire ?
    Car si je fait noDoublons[0]; avec le HashSet il me retourne une erreur :s

    Merci

  5. #5
    Membre chevronné Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Par défaut
    Citation Envoyé par DevServlet Voir le message
    Ou tout simplement par programmation t'inseres tes elements dans une ArrayList en faisant un test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!liste.contains(element){liste.add(element)}
    C'est une mauvaise utilisation d'une List puisqu'il existe une structure de donnée dédiée dans le framework de collections Java dont c'est justement le rôle.

    Citation Envoyé par neonecc Voir le message
    mon tableau est présenter comme ceci :
    22
    23
    24
    22
    23
    25
    ...

    avec la méthode HasSet, il me retourne un resultat comme ici :
    22,23,24,25

    or moi je le voudrais :
    22
    23
    24
    25
    Je n'ai rien compris à cet exemple.
    Tu souhaites à partir de ton tableau initial distinguer un tableau de valeurs dans doublons ET un tableau de doublons avec le nombre d'apparition de chaque doublon ????

  6. #6
    Membre éclairé Avatar de fatypunk
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 71
    Par défaut
    Mmh.... voici le code précis à implémenter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            String[] array = new String[]{"22", "23", "23", "24", "22"};
            Set<String> set = new HashSet<String>();
            for (int i=0; i<array.length; i++) {
                set.add(array[i]);
            }
            String[] cleanArray = set.toArray(new String[set.size()]);

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Par défaut
    a non non !! lol

    je veu juste mon tableau sans doublon, mais je voudrais qu'il soit présenter comme cela :
    22
    24
    23
    25
    ...

    et que je puisse par la suite le réutiliser comme un tableau normal !
    du genre :

    javax.swing.JoptionPane.showmessagedialog(null,montableau[1]); // affiche la valeur présente dans la case numéro 1 ( dans se cas " 24 " )


    voila merci

  8. #8
    Membre éclairé Avatar de fatypunk
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 71
    Par défaut
    C'est ce que fait mon code.... cleanArray est une version sans doublons de array, et c'est un tableau standard...

    Un Set ne peut pas contenir de doublons, lors de l'appel à set.add les doublons ne sont pas ajoutés.

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

Discussions similaires

  1. Récupérer valeur d’un tableau
    Par sosophie dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/04/2007, 11h35
  2. EXCEL\VBA : Lignes totales d’un tableau croisé dynamique
    Par hiline6 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/12/2006, 12h46
  3. c++ valeur la plus grande parmis les valeurs dun tableau
    Par corseb-delete dans le forum C++
    Réponses: 19
    Dernier message: 14/12/2006, 22h14
  4. Réponses: 2
    Dernier message: 12/01/2006, 01h11
  5. [Tableaux] recuperation valeurs dun tableau ou d'un array
    Par pascale86 dans le forum Langage
    Réponses: 5
    Dernier message: 11/10/2005, 16h14

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