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 :

Peut-on mettre des tableaux différents dans une ArrayList ?


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Août 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Août 2017
    Messages : 4
    Par défaut Peut-on mettre des tableaux différents dans une ArrayList ?
    Bonjour, pour un projet il me faut mettre des tableaux différents dans une ArrayList.
    Le premier tableau, je peux le mettre sans problème. Mais le souci est que une fois le deuxième tableau mis le premier "change" et devient égal au premier. Avec du code cela devrait être plus claire !
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    package test_ArrayList;
     
    import java.util.ArrayList;
     
    public class Main {
     
    	public static void main(String[] args) {
    		ArrayList list = new ArrayList(); //création de l'ArrayList
    		int[] tableau=new int[4]; //création du tableau
    		int[] autreTableau=new int[4];//pour tester
     
     
    		tableau[0]=3;
    		tableau[1]=1;
    		tableau[2]=6;
    		tableau[3]=7;
    		list.add(tableau);
     
                    //les valeurs sont différentes
    		tableau[0]=2;
    		tableau[1]=4;
    		tableau[2]=0;
    		tableau[3]=1;
    		list.add(tableau);
     
     
    		autreTableau=(int[]) list.get(0);
    		System.out.println(autreTableau[0]+"  "+autreTableau[1]+"  "+autreTableau[2]+"  "+autreTableau[3]);
     
    		autreTableau=(int[]) list.get(1);
    		System.out.println(autreTableau[0]+"  "+autreTableau[1]+"  "+autreTableau[2]+"  "+autreTableau[3]);
    	}
     
    }
    Et ça me répond ceci :

    2 4 0 1
    2 4 0 1

    Merci d'avance !

  2. #2
    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
    Compte combien de fois tu crée un nouveau tableau dans ton code. Tu es occupé de mettre le même tableau à chaque case et de modifier ce tableau à chaque fois.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Août 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Août 2017
    Messages : 4
    Par défaut
    Ces tableaux contienne plusieurs informations sur des personnages mais je ne sais pas à l'avance combien ils seront. Donc je ne sais pas combien de tableaux il y aura.

  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
    Oui c'est bien l'intérêt de les mettre dans une ArrayList.

    Contente-toi de créer un nouveau tableau avec new à chaque fois que tu as besoin de le faire.

    (Par ailleurs, pour des infos de personnages, un tableau de quatre ints est nettement moins bien qu'un classe InfosPersonnages

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class InfoPersonnages {
     
      private int force;
      private int defense;
      private int niveau;
      privare int experience;
     
      // ...
    }
    )
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Août 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Août 2017
    Messages : 4
    Par défaut
    Comment ça "new" ? Il faut recréer le tableau à chaque fois ?

  6. #6
    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
    Oui, puisque tu ne veux pas que ce soit le même tableau à chaque fois.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. faire saisir des informations différentes dans une variable for
    Par zoozbiro dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 09/11/2008, 21h25
  2. Mettre des caractères spéciaux dans une déclaration
    Par Gunner4902 dans le forum Langage
    Réponses: 2
    Dernier message: 23/06/2008, 21h02
  3. Réponses: 7
    Dernier message: 13/10/2006, 00h45
  4. [Configuration] Peut on mettre de l'asp dans une page en .php
    Par Alain15 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 31/07/2006, 12h23
  5. Réponses: 9
    Dernier message: 17/10/2005, 10h44

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