Files
DEV/DEV.3.2/TP/TP1-Generecite/Frequence.java
2025-11-07 16:39:12 +01:00

34 lines
1.2 KiB
Java

import java.util.*;
public class Frequence {
public static <T> T elementPlusFrequent(T[] tab) {
java.util.Map<T, Integer> 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));
}
}