Bonjour,

Alors voila , mon probleme c'est que pour chaque clé j'ai les meme informations enregistrer et elles correspondent aux valeurs de la derniere clé .....

Merci d'avance !!


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
45
46
public  HashMap<String,ArrayList> repartitionDisponibilite()throws ParseException{
			double init=0;
 
     for(j=0;j<ressource.size()-1;j++){
 
    	 		repartitionDispo.clear();
				for(int i = 0; i < echelleTps.size(); i++){
			    repartitionDispo.add(i,init);}		   
 
		for(Iterator it = mapRepartition.entrySet().iterator(); it.hasNext();) {			
					Entry e = (Entry) it.next();
					String k = (String) e.getKey();
					Object v = e.getValue();	
					String cle=k.substring(38,k.indexOf("//"));
					if(cle.equals(ressource.get(j).trim())){
						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) || date1.getTimeInMillis()==dateComp.getTimeInMillis() /*|| date2.getTimeInMillis()==dateComp.getTimeInMillis()*/){
					    			double temp=repartitionDispo.get(i);
					    			repartitionDispo.set(i,temp+charge);
					    		}
					    	}
					    	GregorianCalendar date1=parseDate3(echelleTps.get(echelleTps.size()-1));			    	
					    		if(date1.get(GregorianCalendar.DAY_OF_WEEK) !=GregorianCalendar.SATURDAY && date1.get(GregorianCalendar.DAY_OF_WEEK) !=GregorianCalendar.SUNDAY){
					    			if(dateComp.getTimeInMillis()==date1.getTimeInMillis()){			    				
					    				double temp=repartitionDispo.get(echelleTps.size()-1);
					    				repartitionDispo.set(echelleTps.size()-1,temp+charge);
					    				}
					    		}
					    	}
						}
				}		
 
		mapCongesRepart.put(ressource.get(j),repartitionDispo);
     }		
 
 
 
 
     return (mapCongesRepart);
	}