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 :

Remplissage d'un tableau


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    259
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Octobre 2005
    Messages : 259
    Par défaut Remplissage d'un tableau
    Bonjour,

    J'aimerais remplir un tableau avec des angles que je calcule au fur et à mesure.

    J'ai déclaré ma variable et mon tableau comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    float normal_angle = 0;
    edgesNormals = new float[10];
    Maintenant, que je fasse ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    edgesNormals = normal_angle;
    ou cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    edgesNormals[] = normal_angle;
    Il met l'erreur suivante:
    cannot convert from float to float[]

    Si par contre je met:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    edgesNormals[2] = normal_angle;
    Ca fonctionne.

    Ce qu'il y a, c'est que je ne sais pas à quel indice mettre l'angle, il faut le mettre à la suite de ceux déjà mis.

    Y'a-t-il une solution?

    Merci pour vos réponses

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 94
    Par défaut
    Le mieux est d'utiliser un java.util.ArrayList.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ArrayList<Float> liste = new ArrayList<Float>(10);
    liste.add(...);
    liste.add(...);
    Si tu veux ensuite le repasser en tableau tu fais un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Float[] tableau = liste.toArray(new Float[0]);

  3. #3
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par Kikito
    Si tu veux ensuite le repasser en tableau tu fais un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Float[] tableau = liste.toArray();
    Plutôt ceci :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    Float[] tableau = liste.toArray(new Float[0]);

    a++

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 94
    Par défaut
    J'étais en train d'éditer quand tu as répondu, tu as bien sûr raison, le type retourné par toArray() étant du Object.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 94
    Par défaut
    C'est d'ailleurs bizarre/dommage que maintenant avec les générics il n'y ait pas une méthode du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public E[] toArray() {
        E[] newTab = (E[])new Object[size];
        System.arraycopy(elementData, 0, newTab, 0, size);
        return newTab;
    }
    Car là on a une création d'objet et deux tests pour rien dans 95% du temps.

  6. #6
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Ce n'est pas possible pour deux raisons :

    • Les types génériques sont vérifié à la compilation et perdu à l'exécution.
    • Le type des tableaux ne peuvent être vérifié que pendant l'exécution.

    a++

Discussions similaires

  1. [HashMap] lecture d'1 hasmap et remplissage d'un tableau
    Par _KB_ dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 30/06/2006, 19h33
  2. [VBA-E] eviter blanc remplissage listbox avec tableau
    Par chmod777 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/04/2006, 12h16
  3. [LG]Remplissage d'un tableau
    Par luno2545 dans le forum Langage
    Réponses: 2
    Dernier message: 29/01/2004, 21h47
  4. Réponses: 13
    Dernier message: 14/10/2003, 14h31
  5. Réponses: 11
    Dernier message: 04/08/2003, 15h30

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