35 lines
921 B
Java
35 lines
921 B
Java
import java.util.Map;
|
|
import java.util.HashMap;
|
|
|
|
|
|
public class Main {
|
|
|
|
public static <T> Association<T> elementPlusFrequent(T[] tab) {
|
|
java.util.Map<T, Integer> compteur = new java.util.HashMap<>();
|
|
|
|
for (T elem : tab) {
|
|
compteur.put(elem, compteur.getOrDefault(elem, 0) + 1);
|
|
}
|
|
|
|
T resultat = null;
|
|
int maxFreq = 0;
|
|
for (T elem : tab) {
|
|
int freq = compteur.get(elem);
|
|
if (freq > maxFreq) {
|
|
maxFreq = freq;
|
|
resultat = elem;
|
|
}
|
|
}
|
|
|
|
return new Association<>(resultat, maxFreq);
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
String[] mots = {"chat", "chien", "chat", "oiseau", "chien", "chat"};
|
|
System.out.println(elementPlusFrequent(mots));
|
|
|
|
Integer[] nombres = {1, 2, 2, 3, 1, 2};
|
|
System.out.println(elementPlusFrequent(nombres));
|
|
}
|
|
}
|