Bonjour
Ca fait déjà un moment que je suis sur cet bête méthode mais pas moyen je cale complètement.

Je voudrais incrémenter deux compteur, en fonction du nombre d'éléments semblable.
Puis prendre l'élément le plus fréquents (ou les plus fréquents si ils tombent sur un ex aequo)
Mes listes sont déjà trier alphabétiquement.
L'une est sans les doublons pour la comparaison.

Entre les erreurs de compilation et les résultat non souhaiter je désespère.

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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
public class StatisticsTest {
 
    public static void main(String[] args) {
 
    		HashSet<String> Set = new HashSet<String>();
    	    ArrayList<String> color = new ArrayList<String>();
    	    ArrayList<String> listSet = new ArrayList<String>();
    	    ArrayList<String> top = new ArrayList<String>();
 
 
            color.add("Rouge"); //5Rouge
            color.add("Rouge");//6Bleu
            color.add("Rouge");//3Vert
            color.add("Vert");//2Jaune
            color.add("Bleu");
            color.add("Bleu");
            color.add("Bleu");
            color.add("Bleu");
            color.add("Jaune");
            color.add("Vert");
            color.add("Vert");
            color.add("Rouge");
            color.add("Rouge");
            color.add("Jaune");
            color.add("Bleu");
            color.add("Bleu");
 
            Set.addAll(color);
            listSet.addAll(Set);//On efface les doublons et on les remets sous forme de liste
 
            Collections.sort(listSet);
            Collections.sort(color);
 
            int topCompteur=0;
            int nouveau =0;
            int compteur = 0;
 
 
 
 
            for(int i=0; i<listSet.size();i++){ 										
               String suivant = listSet.get(++i);
                  if ((i%2)== 1){
 
                	  for(int j=0; j< color.size(); j++){	
 
                		  boolean egalite = color.get(j).equals(listSet.get(i));
 
 
                		  if(egalite == false){ 										
                			  nouveau++;																
 
                			  boolean condition2 = color.get(j).equals(suivant); 				
 
                			  if(condition2 == false)											
                			  	{break;}
                		  }
                		  if(color.get(j).equals((listSet.get(++i))))
                			  if(egalite == true){ 													
                				  compteur++;
                			  }      			
                	  }
 
               	if (topCompteur==nouveau || topCompteur==compteur)
            				{top.add(listSet.get(i));}
            	if (topCompteur<nouveau || topCompteur<compteur){
           	      	if (nouveau < compteur)
           	      		topCompteur = compteur;
           	      	else
           	      	{topCompteur = nouveau;}
    				top.clear();
       				top.add(listSet.get(i));
 
            	}         			
 
            	 } 
 
            }               
           System.out.println(top);         
    }
 
}