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

Langage Java Discussion :

double[] -> vue en List<Double>?


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut double[] -> vue en List<Double>?
    Salut,

    À partir d'un tableau d'objets du type, on peut faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UnType[] tab = ...
    List<UnType> list = Arrays.asList(tab);
    qui crée une vue du tableau en liste.

    Mais avec les types primitifs, ça ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    double[] tab = ...
    //List<Double> list = Arrays.asList(tab); //ne marche pas
    Comment donc profiter des méthodes de l'interface List sur un tableau de types primitifs?

  2. #2
    Membre chevronné Avatar de gronono
    Inscrit en
    Novembre 2003
    Messages
    457
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2003
    Messages : 457
    Par défaut
    Bonjour,

    effectivement le langage ne le permet pas.
    Par contre tu peux très bien créer une méthode utilitaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    /**
     * Convertie un tableau de <code>double</code> en une liste de <code>Double</code>.
     * @param tab Le tableau à convertir.
     * @return La liste.
     */
     public static List<Double> asList(final double... tab) {
       final List<Double> l = new ArrayList<Double>(tab.length);
       for (final double d : tab) {
         l.add(d);
       }
       return l;
    }
    Je sais que tu parcours l'ensemble de ton tableau pour le convertir contraiment à la méthode asList.

    Dans ton cas, est-ce que tu ne peux directement créer un tableau de Double (l'objet) ?

    A+
    Gronono

  3. #3
    Membre éprouvé
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Chine

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

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par défaut
    Coucou,

    Je pense aussi qu'il faut convertir "à la main" ton tableau de doubles en tableau de Doubles, et apres utiliser asList sur le tableau converti.
    Malheuresement, l'auto-boxing ne fonctionne pas sur les tableaux.

    Fred

  4. #4
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Citation Envoyé par gronono Voir le message
    Bonjour,

    effectivement le langage ne le permet pas.
    Par contre tu peux très bien créer une méthode utilitaire :
    Bonjour, sauf qu'ici la liste renvoyée n'est pas une vue sur le tableau fourni.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    double[] tab = ...;
    List<Double> list = asList(tab);
    list.set(0, new Double(0.5));
    n'aura pas pour effet de placer 0.5 en tab[0].

Discussions similaires

  1. liste chainée double
    Par Stevie Wonder dans le forum C
    Réponses: 11
    Dernier message: 21/11/2006, 12h13
  2. Réponses: 8
    Dernier message: 11/05/2006, 11h04
  3. Réponses: 4
    Dernier message: 09/02/2006, 21h26
  4. Liste chainée double générique
    Par issou dans le forum C
    Réponses: 3
    Dernier message: 11/11/2005, 02h48
  5. simuler un double click sur une liste dans un dbgrid
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 1
    Dernier message: 01/09/2005, 10h45

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