0% ont trouvé ce document utile (0 vote)
12 vues3 pages

Devoir Java : Interfaces et Collections

Transféré par

Amine el harrak
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
12 vues3 pages

Devoir Java : Interfaces et Collections

Transféré par

Amine el harrak
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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).

Vous aimerez peut-être aussi