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 :

Convertir un ArrayList vers Array


Sujet :

Collection et Stream Java

  1. #1
    Membre éclairé Avatar de Soulama
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 619
    Par défaut Convertir un ArrayList vers Array
    Bonjour,
    jai une fonction qui calcule la somme des entrée dun array:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        double sum(double[] values){
           //do somethings
       }
    Dans mon project, je travail avec des ArrayList du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      ArrayList<Double> list = .....
    maintenant je veux passer mon ArrayList comme parametre a la fonction sum, et je ne cest pas comment convertir le ArrayList vers double[]{}.
    Jai essayé avec ArrayList.toarray() mais le compiler ne laccepte pas.
    Quelqun a une idee?

    Merci

  2. #2
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Par défaut
    La fonction .toArray() va te retourner un array de Double et non de double, et je crois que l'autoboxing ne marche pas pour les tableau, à confirmer quand même.
    Peux tu nous donner l'erreur de compilation au cas ou ?


    En tout cas, dans ton cas la solution la plus simple est de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    double[] tab = new double[list.size()];
    for(int i=0; i<list.size(); i++) {
       tab[i] = list.get(i).doubleValue();
    }

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Par défaut
    As tu bien écrit le nom de la méthode ? :
    toArray

  4. #4
    Membre confirmé
    Profil pro
    Développeur Java
    Inscrit en
    Juin 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2009
    Messages : 102
    Par défaut
    Djobird a raison, toArray() te retournera un tableau de Double, et pas de type primitif...

    Soit tu demandes à ta méthode sum de prendre en paramètre Double[], ou plus directement List<Double>, soit tu recopies ton tableau d'objet dans un tableau de type primitif double[]

  5. #5
    Membre éclairé Avatar de Soulama
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 619
    Par défaut
    @Djobird: jai pas derreur de compilation car je travail avec eclipse et il me donne des points rouge que je survole avec la souris comme ca je voie quelle erreur.

    @fr1man: meme reponse, le code assistant me permet decrire les methodes correctement

    en tout cas, je vais essayer la methode de Djobird, elle me convient bien.
    A tester
    Merci

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Par défaut
    C'est toi même qui dis que ça ne compile pas.
    Et c'est aussi toi même qui écris mal le nom de la méthode.
    Donc désolé, mais on fait avec ce que tu montres.

  7. #7
    Membre éclairé Avatar de Soulama
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 619
    Par défaut
    @fr1man: cetait juste une erreur de frape(sorry)
    La solution de Djobird fonctione bien.
    Merci pour vos Idees

  8. #8
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Par défaut
    Citation Envoyé par Soulama Voir le message
    @Djobird: jai pas derreur de compilation car je travail avec eclipse et il me donne des points rouge que je survole avec la souris comme ca je voie quelle erreur.

    @fr1man: meme reponse, le code assistant me permet decrire les methodes correctement

    en tout cas, je vais essayer la methode de Djobird, elle me convient bien.
    A tester
    Merci
    Bien que ma solution marche ^^
    Néanmoins, par rapport au fait que tu n'ai pas d'erreur de compile. Si tu as une erreur de compilation, c'est pas parce que tu travailles avec Eclipse qu'il supprime les erreurs. En passant ta souris sur le point rouge tu vas justement avoir l'erreur de compilation

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

Discussions similaires

  1. Convertir d'hexadécimal vers décimal
    Par WebPac dans le forum Delphi
    Réponses: 4
    Dernier message: 05/09/2006, 12h01
  2. [C# > C++] Comment convertir un sting^ vers un char* ?
    Par Elbarto dans le forum C++/CLI
    Réponses: 6
    Dernier message: 15/06/2006, 20h58
  3. [C#] Convertir un ArrayList en String[] ?
    Par Amerok dans le forum ASP.NET
    Réponses: 13
    Dernier message: 06/12/2005, 15h38
  4. Convertir dump postgres vers mysql
    Par )3lade dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 03/10/2005, 16h51
  5. [gtkmm] Convertir un ustring vers un array
    Par alejandro dans le forum GTK+
    Réponses: 2
    Dernier message: 17/05/2005, 13h43

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