public class exo4 { private E element; private int frequence; // Constructeur public exo4(E element, int frequence) { this.element = element; this.frequence = frequence; } // Accesseur pour 'element' public E getElement() { return element; } // Modificateur pour 'element' public void setElement(E element) { this.element = element; } // Accesseur pour 'frequence' public int getFrequence() { return frequence; } // Modificateur pour 'frequence' public void setFrequence(int frequence) { this.frequence = frequence; } // Surcharge de la méthode toString() @Override public String toString() { return "Element: " + element + ", Frequency: " + frequence; } // Méthode main pour tester la classe public static void main(String[] args) { // Exemple d'utilisation avec un type String exo4 association1 = new exo4<>("Test", 5); System.out.println(association1); // Affichera : Element: Test, Frequency: 5 // Exemple d'utilisation avec un type Integer exo4 association2 = new exo4<>(10, 2); System.out.println(association2); // Affichera : Element: 10, Frequency: 2 // Modification des valeurs association1.setElement("Updated"); association1.setFrequence(10); // Vérification de la modification System.out.println(association1); // Affichera : Element: Updated, Frequency: 10 } }