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 !!