Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 1 TD 6 IJA Structures de données JAVA.

Slides:



Advertisements
Présentations similaires
Au programme du jour …. Un peu plus de structures de données
Advertisements

Approfondissement du langage
Plan du cours La sérialisation: – comment stocker et restaurer les Objets? Les interfaces graphiques et la programmation évènementielle. –Comment concevoir.
JAV - TD 6 Structures de données JAVA
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
IJA - TD 2 Bases du langage
Connexion base de données
Programmation orientée objet
Les collections d'objets
IFT 6800 Atelier en Technologies d’information
COURS DE PROGRAMMATION ORIENTEE OBJET :
COURS DE PROGRAMMATION ORIENTEE OBJET :
Réaliser par: Sadok Amel Cheboui hassiba
Généricité.
Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 1 TD 7 IJA Les interfaces graphiques JAVA.
Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 1 TD 3 IJA Bases du langage bibliothèques standards composition communication entre objets.
Tarak Chaari, Stéphane Frénot, Frédérique Laforest, Frédéric Le-Mouël JAV 1 JAV - TD 7 Les entrées / sorties JAVA Les Flux Le package java.io La gestion.
Tableaux et Pointeurs Chaînes de Caractères Programmation Impérative II.
Fichiers et entrées-sorties en Java File and Input-ouput in Java J.M. Vanel Conseil informatique, architecture
Frédéric Le Mouël, Stéphane Frénot, Frédérique Laforest, Tarak Chaari – Dpt TC JAV 1 JAV – TD 8 Les threads en Java.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Types et opérations fondamentales ● Tests ● Boucles ● Pointeurs, références.
Tableaux en C Mardi 2/05.
Langages de programmation TP6
JAVA.
Les tableaux différencier les variables simples des variables indicées (ordonnées et numérotées) un identificateur unique désigne un ensemble, une collection.
Modèle objet : les classes
java : l'héritage (rappel)
Environnement de développement des BD
Introduction au Langage Pascal
Pas de variable globale
Les notions de classe et d'objet
Pointeurs et langage C.
Algorithmique et programmation de modèles numériques
La généricité et Java Collection Framework
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
I21 Algorithmique et programmation II
Algorithmique Langage C
Langages de programmation TP7
Les fonctions.
Session 1 31 mai 2017 Plateforme ICONICS Justine Guégan
SIF-1053 Architecture de ordinateurs
Puzzler.
Cours N°9: Algorithmiques Les Tableaux 1
Programmation en C++ C++ de base
Programmation Orientée Objet C# El Akel Bouchra ISMONTIC Tanger 2013/2014.
Type Concret – Type Abstrait
Calcul Scientifique Initiation à SCILB
02- Evaluation Access 2003 Cette évaluation comporte des QCM (1 seule réponse) et des Zones à déterminer dans des copies d’écran.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
Programmation Android GUI (widgets) et ressources
Les classes et les objets
Les structures de base Listes chainées. Listes Les listes(similaire aux tableaux) sont des structures informatiques qui permettent de garder en mémoire.
Programmation Web : DOM en PHP
Programmation par Objets et Java
Base de données Table des clients Table des fournisseurs Table des commandes clients Formulaire des clients Formulaire des fournisseurs Formulaire des.
PROGRAMMATION ET ENSEIGNEMENT
Principes de programmation (suite)
Piles et files.
Le langage C# : Partie 1.
INTERFACE ET POLYMORPHISME
LISTES.
Listes Chaînées.
STREAMS (et fichiers).
Lecture/Écriture de fichiers (I/O)
Passerelle M1 remise à niveau
Passerelle M1 remise à niveau
Variables et accès en Java
TP N°1 : GUI en NetBeans Module R & C Université de Jijel
TP N°6: Construction d’un Serveur Multi-Client
Transcription de la présentation:

Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 1 TD 6 IJA Structures de données JAVA

Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 2 Sommaire Types de base –Types primitifs –Classes des types primitifs (wrappers) Structures de collection –Tableaux –L’interface collection –Vector et Hashtable Remarque: toute classe est une structure de données

Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 3 Les types primitifs Types –byte : 1 octet –short : 2 octets –int : 4 octets –long : 8 octets –float : 4 octets –double : 8 octets –boolean : true/false –char: 2 octets (en unicode) Un type primitif ne prend jamais de majuscule

Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 4 Classes des types primitifs (Wrappers) Classes qui encapsulent des types primitifs Exemples: String, Integer, Boolean, Long… Possibilité de conversion: Exemple new Integer(k);

Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 5 Exercice : Wrappers public static void main(String args[]) –args est un tableau de chaînes de caractères qui contient les mots frappés à l’appel de la machine virtuelle –exemple : java Truc toto tata args[0] contient "toto", args[1] contient "tata" Exercice –Ecrire une classe Additionne qui additionne deux entiers donnés en paramètre au lancement de la machine virtuelle –exemple : java Additionne 2 5

Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 6 Structures de collection Collection (conteneur) = ensemble générique d’objets –Main de bridge (collection de cartes), répertoire de fichiers, répertoire téléphonique, … Les objets peuvent être soumis à des contraintes –Ordre (liste), entrées uniques (ensemble), …

Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 7 Les tableaux Un tableau JAVA est une structure collectant un ensemble (dont on connaît sa cardinalité d’avance) d’objets de même type Déclaration d’un tableau type[] unTableau; (type peut être n’importe quel objet ou type de base) Instanciation –unTableau = new type[10]; Accès aux éléments –unTableau[7] = new type(); –System.out.println(unTableau[7]);

Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 8 Vector & Hashtable Vector –Une classe de collection qui engendre un tableau d’objets –Méthodes: add(Object o), get(int index), remove(int index)… –Gère une taille dynamique du tableau Hashtable –Une classe de collection qui gère un ensemble de couples (clé, valeur) –Méthodes: put(Object key, Object value), get(Object key), remove(Object key) –Recherche transparente par rapport à l’utilisateur

Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 9 Exercice Lire la documentation de java.util.Vector –A quoi sert le constructeur Vector(int initialCapacity, int increment) Ecrire la méthode add d'une classe Vector

Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 10 Exercice Réaliser la classe Vector selon une autre approche Modifier votre structure afin de pouvoir utiliser les deux implantations selon une interface commune

Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 11 L'interface JAVA "Collection" Séparation de l’interface d’une collection de son implémentation (ex: file d’attente) -> polymorphisme Les principales méthodes: –add(Object o), contains(Object o), iterator(), remove(Object o) Iterator pour parcourir une collection –hasNext(), next(), remove() Quelques extensions de l’interface Collection –List, Set –ArrayList, TreeSet, Vector

Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 12 Exercice Hashtable Comment fonctionne une Hashtable ? Proposez une implementation de la fonction de hash

Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 13 Exercice à la maison : LIFO 1) Ecrire une classe cliente de la LIFO 2) Définir la classe pile (LIFO). Cette classe contient les méthodes : public Object push(Object item) ; public Object pop (); 3) Modifiez la classe pour y intégrer les exceptions sur push et pop

Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 14 Exercice a la maison : Gestion d'étudiants avec un vecteur 0) Créer une classe ClientEtud, qui instancie 10 objets de la classe Etudiant (nom, prénom, num étudiant). Chaque objet doit avoir un nom différent. Au moins un de ces objets aura comme nom « toto » et l’autre « steph » 1) Vous insérez ces dix objets dans une classe GesEtud, qui répond à la méthode void ajout(Etudiant etu). Pour pouvoir stocker les étudiants, la classe repose sur un Vector interne, listEtud. 2) Dans la classe ClientEtud, rechercher « steph », avec la méthode recherche(String nom) que vous implanterez dans GestEtud. Quelle est la complexité de la méthode de recherche ?

Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 15 Exercice à la maison : Gestion d’étudiants avec une Hashtable 0) Copiez la classe GesEtud en GesEtudHash 1) Consultez la documentation sur la Hashtable 2) Remplacez l’attribut interne par une Hashtable 3) Dans la classe ClientEtud, rechercher « steph », avec la méthode recherche(String nom) que vous implanterez dans GestEtud. Quelle est la complexité de la méthode de recherche ? 4) Intégrer la gestion d’exceptions dans GestEtudHash et dans la classe cliente