TD 6 IJA Structures de données JAVA

Documents pareils
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Package Java.util Classe générique

Chapitre V. Les classes : Object, Vector, etc.

Utilisation d objets : String et ArrayList

Programmation Par Objets

Plan du cours. Historique du langage Nouveautés de Java 7

Programmation Orientée Objet Java

Une introduction à Java

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Chapitre 10. Les interfaces Comparable et Comparator 1

Cours 1: Java et les objets

Introduction. Les méthodes. Les méthodes. Identité et égalité. Identité et égalité. La copie d'objets. Identité et égalité.

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

TD/TP PAC - Programmation n 3

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Corrigé des exercices sur les références

Remote Method Invocation (RMI)

Java Licence Professionnelle CISII,

TD3: tableaux avancées, première classe et chaînes

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Premiers Pas en Programmation Objet : les Classes et les Objets

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

ACTIVITÉ DE PROGRAMMATION

Programmer en JAVA. par Tama

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

as Architecture des Systèmes d Information

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

TP, première séquence d exercices.

Programme Compte bancaire (code)

Java DataBaseConnectivity

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

Héritage presque multiple en Java (1/2)

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )

PROJET ALGORITHMIQUE ET PROGRAMMATION II

Applet pour visualiser les variables «automate» notifiées

INITIATION AU LANGAGE JAVA

Généralités sur le Langage Java et éléments syntaxiques.

Programmation par les Objets en Java

JAVA. Introduction à la programmation objet avec java 1/4. Nadir BOUSSOUKAIA

Synchro et Threads Java TM

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

JAVA TD0. Prise en main du langage Environnement de base JAVA 1

TP1 : Initiation à Java et Eclipse

Génie Logiciel avec Ada. 4 février 2013

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Flux de données Lecture/Ecriture Fichiers

OpenPaaS Le réseau social d'entreprise

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Application web de gestion de comptes en banques

Les structures. Chapitre 3

Programmation d application Bases de données avec Java

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Architecture des ordinateurs

Exercices sur les interfaces

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Remote Method Invocation Les classes implémentant Serializable

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

INF 321 : mémento de la syntaxe de Java

Java Licence Professionnelle CISII,

Gestion distribuée (par sockets) de banque en Java

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Anne Tasso. Java. Le livre de. premier langage. 6 e édition. Groupe Eyrolles, 2000, 2002, 2005, 2006, 2008, 2010, ISBN :

TP Programmation Java / JDBC / Oracle

Langage Java. Classe de première SI

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Java c est quoi? Java pourquoi?

Utiliser Java sans BlueJ

Chapitre 2. Classes et objets

Programmation en Java IUT GEII (MC-II1) 1

Certificat Big Data - Master MAthématiques

Initiation à JAVA et à la programmation objet.

PROGRAMMATION PAR OBJETS

Objets et Programmation. origine des langages orientés-objet

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Programmation Objet Java Correction

Olivier Mondet

Structurer ses données : les tableaux. Introduction à la programmation

Programmation Bas Niveau

TD/TP PAC - Programmation n 3

1. Langage de programmation Java

Java 1.5 : principales nouveautés

Tp 1 correction. Structures de données (IF2)

Facultés Universitaires Notre-Dame de la Paix. Conception et Programmation Orientées- Object

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

UE Programmation Impérative Licence 2ème Année

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Développement Logiciel

Introduction au langage de programmation Java

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

CREATION WEB DYNAMIQUE

Programmation Orientée Objet

7 Développement d une application de MapReduce

Classe Interne, Anonyme & Enumération

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

RMI le langage Java XII-1 JMF

Transcription:

TD 6 IJA Structures de données JAVA IJA1

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 IJA2

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 IJA3

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

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 IJA5

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

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

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 IJA8

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 IJA9

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

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 IJA11

Exercice Hashtable Comment fonctionne une Hashtable? Proposez une implementation de la fonction de hash IJA12

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 IJA13

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? IJA14

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 IJA15