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 :

Probleme ArrayList OutOfBound


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut Probleme ArrayList OutOfBound
    Bonjour, j'ai un probleme avec la taille de mon ArrayList, je ne vois pas ou je pourrais l'initialiser correctement dans mon code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private ArrayList<Double> stockage=new ArrayList<Double>();
    L'arrayList est déclaré en Global , et sa taille doit etre identique a celle d'un autre ArrayList qui est aussi déclaré en global dans la meme feuille.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private ArrayList<String> echelleTps = new ArrayList<String>();
    Je ne peux pas initialiser bettement "stockage" dans la methode l'utilisant car j'ai besoin de conserver les valeurs entre les appels de cette méthode...

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
     
    	public ArrayList ChargeParTache(String nb,String res, String nom) throws ParseException{		
     
    		String nomConc=nb+nom+res;
    		for(Iterator it = mapRepartition.entrySet().iterator(); it.hasNext();) {
    			Entry e = (Entry) it.next();
    			String k = (String) e.getKey();
    			Object v = e.getValue();
    			if(k.substring(38).trim().equals(nomConc)){				
    				for (Iterator j = ((AbstractList<Interval>) v).iterator() ; j.hasNext() ; ) {					
    					Interval intervalle =  (Interval) j.next();		
    			    	GregorianCalendar dateComp=parseDate2(intervalle.getJour());
    			    	double charge=intervalle.getNum();
    			    	for(i=0;i<echelleTps.size()-1;i++){
    			    		GregorianCalendar date1=parseDate3(echelleTps.get(i));
    			    		GregorianCalendar date2=parseDate3(echelleTps.get(i+1));
    			    		if(dateComp.after(date1) && dateComp.before(date2)){
    			    			double temp=stockage.get(i);
    			    			stockage.set(i,temp+charge);
    			    		}
    			    	}
    				}
    			}
    			else{
    				stockage.clear();
    				for (Iterator j = ((AbstractList<Interval>) v).iterator() ; j.hasNext() ; ) {					
    					Interval intervalle =  (Interval) j.next();		
    			    	GregorianCalendar dateComp=parseDate2(intervalle.getJour());
    			    	double charge=intervalle.getNum();
    			    	for(i=0;i<echelleTps.size()-1;i++){
    			    		GregorianCalendar date1=parseDate3(echelleTps.get(i));
    			    		GregorianCalendar date2=parseDate3(echelleTps.get(i+1));
    			    		if(dateComp.after(date1) && dateComp.before(date2)){
    			    			stockage.set(i,charge);
    			    		}
    			    	}
    				}
    			}
    		}
     
    		return (stockage);
     
    	}

    Je ne vois pas , a part, attribuer une taille en dur dans la déclaration en global , mais ca ne conviens pas du tout dans mon cas. Peut etre existe il une propriété que je ne connais pas , permettant a la taile de s'auto ajustée?? ( avec java on ne sait jamais )

    Merci beaucoup d'avance !!

  2. #2
    Membre chevronné Avatar de Rayndell
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 289
    Par défaut
    Tu peux toujours faire une initialisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for(int i = 0; i < echelleTps.size(); i++){
        stockage.add(0);
    }

  3. #3
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    C'est ce à quoi j'aais pensé, mais j'ai cette erreur pour le else, erreur que je ne comprend pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Caused by: java.lang.IndexOutOfBoundsException: Index: 11, Size: 0

  4. #4
    Membre chevronné Avatar de Rayndell
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 289
    Par défaut
    Bah c'est normal, pourquoi tu fais un stockage.clear() au début du else ? Ca lui enlève toutes les valeurs ! A la place, fais plutôt l'initialisation vue plus haut, ou fait un add à la place de ton set.

  5. #5
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    Merci

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

Discussions similaires

  1. [ASP.net][VB.NET] probleme arrayList
    Par Tunisiano87 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 08/11/2010, 10h31
  2. Probleme Arraylist : valeurs identiques
    Par sb1979 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 07/10/2009, 15h22
  3. probleme ArrayList et JList
    Par offspring dans le forum Composants
    Réponses: 3
    Dernier message: 23/08/2007, 00h13
  4. Probleme d'ArrayList
    Par kedare dans le forum Collection et Stream
    Réponses: 31
    Dernier message: 05/09/2006, 08h12
  5. Réponses: 2
    Dernier message: 26/04/2006, 12h09

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