JAV - TD 6 Structures de données JAVA

Slides:



Advertisements
Présentations similaires
Cours n° 7 Standard Template Library II.
Advertisements

Au programme du jour …. Un peu plus de structures de données
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
Approfondissement du langage
(Classes prédéfinies – API Java)
F. Voisin : Introduction à Java 1 Introduction à Java - les interfaces - Frédéric VOISIN FIIFO - « Remise à Niveau »
Plan du cours La sérialisation: – comment stocker et restaurer les Objets? Les interfaces graphiques et la programmation évènementielle. –Comment concevoir.
Programmer en JAVA par Tama
Packages et résolution de noms
JAV – TD 3 bibliothèques standards composition
Tarak Chaari, Stéphane Frénot, Frédérique Laforest, Frédéric Le-Mouël JAV1 JAV – TD 5 Lhéritage en Java.
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
IJA - TD 2 Bases du langage
Classes locales classes définies à l'intérieur d'un bloc de code,
Structures collectives en Java
IPA – Catherine Faron Zucke et Anne Marie Deryr. suite ordonnée d'éléments de taille variable ArrayList liste; liste = new ArrayList (); Ne peuvent contenir.
Programmation orientée objet
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
JavaBeans Réalise par: EL KHADRAOUY TARIK AOUTIL SAFOWAN.
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Les collections d'objets
Langage Oriente Objet Cours 4.
Leçon 6 : Structures de données dynamiques IUP 2 Génie Informatique Méthode et Outils pour la Programmation Françoise Greffier.
Page de garde Classes de base du JDK Novembre 2000
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
© 2007 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java et les Exceptions Peter Van Roy Département dIngénierie Informatique,
Chapitre 21 Collections Partie I Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est.
1 Objectifs de ce cours (I21) Cours JAVA (I21) -Licence 1 Semestre 2 / Y.Laborde Résumé du cours précédent.
Introduction à la programmation (Java)
Langage Oriente Objet Cours 2.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 5 – Héritage, Interfaces et Listes génériques.
Structures de données IFT-2000 Abder Alikacem Standard Template library Édition Septembre 2009 Département dinformatique et de génie logiciel.
Rappels Java.
IFT 6800 Atelier en Technologies d’information
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Types de données abstrait et mécanismes d'encapsulation
COURS DE PROGRAMMATION ORIENTEE OBJET :
COURS DE PROGRAMMATION ORIENTEE OBJET :
Standard Template Library
CSI1502 Principes fondamentaux en conception des logiciels
CSI 1502 Principes fondamentaux de conception de logiciels
Java, les objets : tout de suite ! Rassembler, grouper les objets
Structures de données IFT-10541
1212 Entrée et sortie de fichiers Objectifs À la fin de ce cours, vous serez capables de : • Lire à partir de la console • Écrire sur la console.
4 Introduction des objets. Les chaînes et tableaux
LIFI-Java 2004 Séance du Mercredi 22 sept. Cours 3.
Cours 7 Classes locales Clonage Divers: tableaux.
Templates, Containers et STL Structures de données de base tableau, liste chaînée file, pile, arbres, hashtable collection, ensemble 2 caractéristiques.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 1 – Objets et Classes Master 1 SIGLIS1Java Lecteur - Chapitre 1 Objets et classes.
© 2005 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java Peter Van Roy Département d’Ingénierie Informatique, UCL
Tutorat en bio-informatique
5ième Classe (Mercredi, 19 octobre) Prog CSI2572.
Réaliser par: Sadok Amel Cheboui hassiba
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 3 – Classes et objets en Java Master 1 SIGLIS1 Java Lecteur - Chapitre 3 Classes et objets en Java.
Strings et Tableaux en Java
Les classes présenté par: RAHMOUNE RIME / ZEKRI SELMA.
Les classes et les objets Les données finales class A { … private final int n = 20 ; // la valeur de n est définie dans sa déclaration … } class A { public.
C# de plus près.  Ce sont globalement les mêmes que Java : ◦ Int(int16, int32), float, double, bool,…  Les classe « communes » sont également les mêmes.
IUT du Limousin L.U.P Michel Vergnaud Programmation Objet - Java.
Héritage H. Batatia. plan Notion (que signifie l’héritage) Ecriture en java Héritage multiple (interdit) Instanciation (partie propre et partie héritée)
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Héritage Conception par Objet et programmation Java
Classes abstraites, interface Classe interne Classes enveloppes
Généricité.
Philippe Gandy - 22 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Chapitre 21 Collections partie III Set Une collection qui contient des éléments uniques. Deux implémentation :  HashSet : stock les éléments.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Correction du TD Chapitre 3.
BlueJ_III 1 Java, les objets : tout de suite ! Interaction entre objets Notes de cours associées au chapitre 3 tutorial BlueJ
LES CLASSES ET LES OBJETS
Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 1 TD 6 IJA Structures de données JAVA.
Transcription de la présentation:

JAV - TD 6 Structures de données JAVA

Sommaire Types de base Structures de collection 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

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

Classes des types primitifs (Wrappers) Classes qui encapsulent des types primitifs Exemples: String, Integer, Boolean, Long… Possibilité de conversion: Exemple new Integer(k);

Exercice : Wrappers public static void main(String args[]) Exercice 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

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), …

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]);

Vector & Hashtable Vector Hashtable 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

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

Exercice Réaliser la classe Vector selon une autre approche Modifier votre structure afin de pouvoir utiliser les deux implantations selon une interface commune

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

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

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 ?

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