Devoir : JAVA
Niveau : 1ère année cycle d’ingénieures
Filière : Informatique et Réseau
Important
• Deadline : 09/06/2024 à 23h59 (tout projet envoyé au-delà de cette date ne sera
pas corrigé).
• Travail individuel
Documents à rendre :
- Rapport contenant juste le minimum nécessaire (réponses aux questions).
- Le code java du premier exercice seulement (Ne pas envoyer tout le projet, envoyez juste
les classes et les interfaces dans une seule fichier)
- Le fichier Excel rempli avec les valeurs nécessaires.
Exercices :
Exercice 1 : Les interfaces et les classes abstraites
Le schéma suivant présente des interfaces et les classes qui les implémentent.
1- Créez les classes et les interfaces de ce diagramme dans une code Java.
2- Cherchez et expliquez la différence entre Interfaces et classes abstraites.
3- Dans un nouveau projet, remplacer les interfaces du diagramme ci-dessus par des classes
abstraites et implémentez les sans utiliser les interfaces.
Exercice 2 : Les exceptions
- Répondez à la question de cours dans la section 5.1.3 du cours Java
Exercice 3 : (optionnel avec des points BONUS)
Etude comparative entre les structures de données
1- Créez la classe Etudiant avec les attributs suivants :
public class Etudiant {
public int id;
public String nom;
public double note;
public Etudiant(int id, String nom, double note) {
[Link] = id;
[Link] = nom;
[Link] = note;
}
2- Cherchez un code java permettant de calculer le code d’exécution en nanoseconde.
3- Le code suivant permet de remplir la collectionEtudiant avec des valeurs aléatoires. Copiez le
code :
public static void main(String[] args) {
//Code pour le debut de calcule du temps d'execution
//declaration de la collection
List<Etudiant> collectionEtudiants = new ArrayList<>();
//Creation de 10 millions d'etudiants avec des attributs aleatoires
for (int i = 1; i <= 10000000; i++) {
Etudiant etudiant = new Etudiant(i, "Etudiant " + i, [Link]() * 20);
[Link](etudiant);
}
//Votre code pour la comparaison ...
//Code pour la fin du calcle du temps d'execution
4- L’objectif est de comparer le temps d’exécution entre les fonctions les plus utilisées dans les
differentes collections : LinkedList, ArrayList, HashSet et LinkedHashSet
4.1- Comparaison 1 :
Ecrivez les codes java nécessaires pour faire la comparaison entre les quatre collections et
remplissez le tableau suivant avec les résultats expérimentaux que vous avez trouvé :
La structure Add Remove Contains get
ArrayList
LinkedList
HashSet
LinkedHashSet
4.2- Comparaison 2 :
Ecrivez les codes java nécessaire pour faire les comparaisons suivantes :
o LinkedList vs ArrayList
o HashSet vs LinkedHashSet
Vous devez remplir les tableaux Excel joint à ce fichier (Un seule fichier contenant deux feuilles).