Files
DEV/DEV3.2/Genericite/exo3.java
2024-10-17 12:16:23 +02:00

55 lines
2.2 KiB
Java

import java.util.HashMap; // Importation de HashMap
import java.util.Map; // Importation de Map
public class exo3 {
public static void main(String[] args) {
// Exemple de tableau d'objets
Object[] tableau = {1, "apple", 2, "banana", "apple", 3, 2, "banana", "banana"};
// Appel de la méthode pour trouver l'élément le plus fréquent
Object elementFrequent = trouverElementFrequent(tableau);
// Affichage du résultat
System.out.println("L'élément le plus fréquent est : " + elementFrequent);
}
public static Object trouverElementFrequent(Object[] tableau) {
Map<Object, Integer> compte = new HashMap<>(); // Dictionnaire pour compter les occurrences
int maxCount = 0; // Compteur maximal
Object elementFrequent = null; // Élément le plus fréquent
for (int i = 0; i < tableau.length; i++) {
Object element = tableau[i];
// Incrémenter le compteur pour l'élément actuel
compte.put(element, compte.getOrDefault(element, 0) + 1);
// Vérifier si cet élément a une fréquence plus élevée ou est le premier en cas d'égalité
if (compte.get(element) > maxCount || (compte.get(element) == maxCount && elementFrequent == null)) {
maxCount = compte.get(element);
elementFrequent = element;
}
}
return elementFrequent; // Retourner l'élément le plus fréquent
}
}
/*
mportations :
HashMap pour stocker les occurrences des éléments.
Map pour la déclaration de la variable.
Méthode principale :
Un tableau d'exemple tableau est créé contenant différents types d'objets.
La méthode trouverElementFrequent est appelée pour obtenir l'élément le plus fréquent.
Méthode trouverElementFrequent :
Crée un HashMap pour compter les occurrences de chaque élément.
Utilise une boucle pour parcourir le tableau, mettre à jour les compteurs et vérifier si l'élément actuel est le plus fréquent.
En cas d'égalité, le premier élément rencontré avec cette fréquence est privilégié.
Retourne l'élément le plus fréquent : La méthode renvoie l'élément qui apparaît le plus souvent dans le tableau.
*/