Salut, j'ai des valeurs stockées dans un String[], et j'ai des autres motif que je veux les chercher dans ces valeurs, dans cette exemple j'ai String[] valeurs qui est la base qui contient les valeurs, et motif1 contient "102 103 104 205", je dois parcourir la base et à chaque fois que je trouve ces 4 valeurs ensemble je retourne leur temps qui la 11ème colonne, le résultat est correct lorsque je cherche un seul nombre mais quand plusieurs nombres qui doivent apparaître ensemble ça marche pas, c'est le code que j'ai essayé mais il me donne un résultat vide à la fin



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
Set<String> valeursAvantTimeStamp = new HashSet<>();
				   List<String> list = new ArrayList<>();
		 String[] valeurs = "201,202,103,104,205,206,107,208,209,110, 1216471380, 201,102,203,204,205,206,107,108,109,110, 1216473720, 201,202,103,104,205,206,107,108,109,210, 1216482780, 201,102,103,104,205,206,207,108,109,210	1216489440, 201,202,103,104,205,206,207,108,109,210, 1216489500, 201,202,103,104,205,206,107,108,109,110, 1216491840, 201,202,103,104,205,206,207,108,109,210, 1216496100, 201,202,103,104,205,206,207,108,109,210, 1216497420".split(",");
		 String[] motif1= "102 103 104 205".split(" ");
		 String[] motif2= "103".split("");
 
		 for(int i=0; i<motif1.length; i++) {
			 for(int j=0; j<valeurs.length; j++) {
				 if ( (j+1)%11==0 ) {
			 // la valeur est un timestamp
					 if ( valeursAvantTimeStamp.contains(motif1[i]) ) 
					 {
						 i++; 
						list.add(valeurs[i]);
 
					 }
 
 
		 valeursAvantTimeStamp.clear(); // on vide le set pour continuer
 
 
				 }else {
		 // la valeur n'est pas un timestamp
		 valeursAvantTimeStamp .add(valeurs[i]); // on stocke la valeur
		 }
 
		 }
		 }	 
		System.out.println(list);