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 :

[ArrayList] tableau d'entier


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Par défaut [ArrayList] tableau d'entier
    (Re)Bonjour à tous,

    Est-ce que quelqu'un pourrait m'expliquer pourquoi ceci ne fonctionne pas (apparemment c'est le type int [] qui lui plait pas trop ...) et donc comment faire en sorte que ce morceau de code fonctionne ... :

    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
        {
            int X1;
            int Y1;
            ArrayList<int []> Result = new ArrayList<int []>();
            for (int i=X-r;i<=r+X;i++)    
                for (int j=Y-r;j<=r+X;j++)
                {
                    if (i>=0) {X1=i;} else {X1=i+80;}
                    if (j>=0) {Y1=Y-r;} else {Y1=j+60;}
                    if (g[X1][Y1] != null)
                    {
                        int [] Tab = new int [2];
                        Tab[0] = X1;
                        Tab[1] = Y1;
                        Result.Add(Tab);
     
                    }    
                }
        }
    Comme vous l'aurez certainement compris mon abjectif est d'avoir un tableau dynamique contenant dans "chaque cases" deux entiers rapidement accessibles ...



    Par avance merci pour vos réponses ...

  2. #2
    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,


    Et quel est le problème précisément ?

    a++

    PS : tu met des majuscules partout dans ton code : c'est illisible

  3. #3
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Un tableau d'entier, ce serait plutôt :
    ArrayList<int>
    mais vu qu'une arraylist ne peut contenir que des objets ( pas des types primitifs ), ce sera :
    ArrayList<Integer>

    Ce que tu as codé, c'est un tableau de tableaux d'entiers, et encore, c'est pas correct ( type primitif ).

  4. #4
    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
    Citation Envoyé par iohack
    Un tableau d'entier, ce serait plutôt :
    ArrayList<int>
    mais vu qu'une arraylist ne peut contenir que des objets ( pas des types primitifs ), ce sera :
    ArrayList<Integer>
    Ici il utilise un int[] qui est bien un objet

    M'enfin pour pouvoir apporter une aide utile il faut déjà connaitre le problème

    a++

  5. #5
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Quoi qu'il en soit mieux vaudrait passer par un objet contenant deux entiers qu'un tableau.
    C'est un poil plus compréhensible et surtout plus propre (rie qu'au niveau du code...)

  6. #6
    Membre éclairé
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Par défaut
    Citation Envoyé par adiGuba

    Et quel est le problème précisément ?
    "Comme vous l'aurez certainement compris mon abjectif est d'avoir un tableau dynamique contenant dans "chaque cases" deux entiers rapidement accessibles ..."
    PS : tu met des majuscules partout dans ton code : c'est illisible
    Ah bon ? au contraire j'ai plus de facilité à lire car ça sépare bien les mots ... mais bon je prends note ...

    Citation Envoyé par sinok
    Quoi qu'il en soit mieux vaudrait passer par un objet contenant deux entiers qu'un tableau.
    C'est un poil plus compréhensible et surtout plus propre (rie qu'au niveau du code...)
    C'est justement ça que je voudrais faire, mais le Java je connais pas ... enfin j'apprends sur le coup et justement comment faire alors ?


    Merci d'avance

  7. #7
    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
    Citation Envoyé par Bleys
    "Comme vous l'aurez certainement compris mon abjectif est d'avoir un tableau dynamique contenant dans "chaque cases" deux entiers rapidement accessibles ..."
    Mais je ne sais toujours pas quel est le problème !

    Une erreur de compilation ? Si oui laquelle ?
    Une erreur d'exécution ? Si oui laquelle ?
    Un fonctionnement incorrect ou inattendu ?
    Etc...

    Citation Envoyé par Bleys
    Ah bon ? au contraire j'ai plus de facilité à lire car ça sépare bien les mots ... mais bon je prends note ...
    Les majuscules sont bien utilisé pour séparer les mots, mais les variables commencent par une minuscule pour les distinguer des classes

    Plus de détail sur les conventions de nommage de Java : Quelles sont les convention de nommage en Java ?


    Citation Envoyé par Bleys
    C'est justement ça que je voudrais faire, mais le Java je connais pas ... enfin j'apprends sur le coup et justement comment faire alors ?
    Ben il suffit de te créer une classe avec deux attributs :
    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
    public class MonType {
        private int val1;
        private int val2;
     
       public MonType(int v1, int v2) {
           val1 = v1;
           val2 = v2;
       }
     
       public int getVal1() {
           return val1;
       }
     
       public int getVal2() {
           return val2;
       }
    }
    a++

  8. #8
    Membre éclairé
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Par défaut
    Essayons de reprendre ...
    Ce que je voudrais pouvoir faire c'est dans un ArrayList, stocker deux entiers pour chaque "item" de l'ArrayList.

    La méthode que j'ai écrite dans mon premier post (utilisant un tableau en fait) me renvoie une erreur à la compilation comme quoi la méthode Add(int []) n'est pas connue ...

    J'ai essayé de créer un nouveau type comme donné dans le post de adiGuba, mais j'ai toujours le même soucis (même erreur : cannot find symbol methode Add(DeuxEntiers) DeuxEntiers étant le nom de mon type).


    Donc de façon plus générale je vous demande comment faire ? Comment faire pour que dans une ArrayList je puisse stocker deux entiers ?

    Schématiquement voila ce que je voudrais :
    maListe :
    ----------
    0 | 17 24|
    1 | 05 02|
    ----------

    L'objectif étant que maListe.get(0).get(0) me renvoie 17
    et maListe.get(0).get(1) me renvoie 24 ...

    En gros ce que je cherche à faire c'est une liste de deux entiers de taille variable ...


    Merci pour toute aide ...

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Mars 2007
    Messages : 53
    Par défaut
    essaye add
    et non Add

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

Discussions similaires

  1. Convertir un ArrayList<String> en un tableau d'entier
    Par nypahe dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 21/04/2009, 18h10
  2. Limite Allocation Mémoire d'un tableau d'entier
    Par l9ft b9hind dans le forum C++
    Réponses: 5
    Dernier message: 27/10/2005, 19h29
  3. convertir tableau d'entier en char[]
    Par nin47 dans le forum C
    Réponses: 20
    Dernier message: 12/10/2005, 20h03
  4. Réponses: 2
    Dernier message: 03/10/2005, 22h16
  5. Réponses: 6
    Dernier message: 23/05/2005, 10h47

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