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

Java Discussion :

Ajouter des éléments à unt int[]


Sujet :

Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Par défaut Ajouter des éléments à unt int[]
    Bonjour

    de quelle façon on peut ajouter des éléments à un int

    je pensais à passer par un ArrayList l
    mais je n'arrive pas à ajouter tous les éléments du int [] dans l

    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     int[] l2= (int[]) (l.toArray());
    ne marche pas non plus

    merci de l'aide

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Un tableau a une taille fixe.
    On peut remplacer ses éléments, mais pas en ajouter ni en enlever.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Un tableau a une taille fixe.
    On peut remplacer ses éléments, mais pas en ajouter ni en enlever.
    oui je souhaite passer par des vector ou arraylist pour ajouter en fin ou en debut des elements puis retransformer en int[] mais est-ce possible?

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Plus ou moins.

    Vector est obsolète.
    List et Vector ne peuvent pas contenir de int, seulement des objets. Mais ils peuvent contenir Integer.

    Il est donc possible de passer par un List<Integer>, à condition d'insérer les int un à un en temps qu'Integer, puis de retransformer le tout en int[] en transformant les Integer en int un par un.
    S'il y a beaucoup de données, c'est assez mauvais pour les performances et la mémoire.

    exemple :

    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
    17
    18
    19
    // tableau de départ
    int[] l2 = {1, 2, 3};
     
    // transformer le tableau en liste
    List<Integer> list = new ArrayList<Integer>();
    for(int i : l2) {
      list.add(i);
    }
     
    // utiliser la liste pour insérer des données
    list.add(unEntier);
    list.add(unAutreEntier);
    list.add(unEntierAuDebut, 0);
     
    // transformer la liste en tableau
    l2 = new int[list.size()];
    for(int index=0; index < l2.length; index++) {
      l2[index] = list.get(index);
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Par défaut
    j'ai vu qu'on pouvait faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List<Integer> listOfInt = Arrays.asList(new Integer[]{1, 2});
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Integer[] arrayOfInt = listOfInt.toArray(new Integer[]{});
    mais ça m'arrange pas parceque impossible de caster des int en Integer

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    si tu veux absolument passer de tableau à tableau, le plus rapide est de faire un nouveau tableau de taille +1, de copier dedans l'ancien tableau (y a ce qu'il faut dans la classe utilitaire Arrays), et d'ajouter le nouvel élément à la fin.

    Mais comme déjà mentionné, il faut mieux utiliser des List que de jouer avec des tableaux que tu t'amuse à faire grandir.

Discussions similaires

  1. ajouter des éléments à unt int[]
    Par ____22 dans le forum Général Java
    Réponses: 0
    Dernier message: 22/07/2010, 16h51
  2. Ajouter des élément a un tableau
    Par Death83 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 31/07/2007, 14h23
  3. Ajouter des éléments à un document XML
    Par ptr83 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 17/10/2006, 08h43
  4. [Shell] Ajouter des éléments au poste de travail
    Par Feeder_Fan dans le forum Framework .NET
    Réponses: 2
    Dernier message: 04/12/2005, 04h07
  5. Ajouter des éléments à ListBox
    Par priest69 dans le forum Access
    Réponses: 5
    Dernier message: 20/09/2005, 14h05

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