import java.util.*; public class Frequence { public static T elementPlusFrequent(T[] tab) { java.util.Map compteur = new java.util.HashMap<>(); for(T element : tab) { compteur.put(element, compteur.getOrDefault(element, 0) + 1); // Ici on compte les occurrences de chaque élément } // Maintenant on doit trouver l'element le plus frequent (en respectant l'ordre du tableau) T resultat = null; int maxFrequence = 0; for(T element : tab) { int frequence = compteur.get(element); if(frequence > maxFrequence) { maxFrequence = frequence; resultat = element; } } return resultat; } public static void main(String[] args) { // On test d'abord avec un type String String[] mots = {"un", "deux", "trois", "un", "deux", "un"}; System.out.println("Le mot le plus frequent est : " + elementPlusFrequent(mots)); // On test ensuite avec un type Integer Integer[] nombres = {1, 2, 2, 3, 1, 2}; System.out.println("le nb plus frequent : " + elementPlusFrequent(nombres)); } }