Package Java.util Classe générique



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

Programmation Par Objets

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

Programmation par les Objets en Java

TD/TP PAC - Programmation n 3

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

TD/TP PAC - Programmation n 3

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

Programmation Orientée Objet

Cours 1: Java et les objets

Chapitre 10. Les interfaces Comparable et Comparator 1

Projet de programmation (IK3) : TP n 1 Correction

Java 1.5 : principales nouveautés

Une introduction à Java

Programmer en JAVA. par Tama

Utilisation d objets : String et ArrayList

Corrigé des exercices sur les références

Java Licence Professionnelle CISII,

Auto-évaluation Programmation en Java

Threads. Threads. USTL routier 1

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

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

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 )

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

4. Groupement d objets

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

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

Programmation Objet II

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Exercices sur les interfaces

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

Programmation en Java IUT GEII (MC-II1) 1

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

Programmation Objet I

as Architecture des Systèmes d Information

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

Un ordonnanceur stupide

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

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

Prendre le marteau, le tableau, le mètre, le crayon, la ficelle, le clou, la pointe ;

Programmation Réseau. Sécurité Java. UFR Informatique jeudi 4 avril 13

Langage à objets : JAVA (1)

TP, première séquence d exercices.

Programme Compte bancaire (code)

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

Langage Java. Classe de première SI

Corrigés des premiers exercices sur les classes

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

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

Java Licence Professionnelle CISII,

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

Premiers Pas en Programmation Objet : les Classes et les Objets

TP1 : Initiation à Java et Eclipse

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

Généricité. en Java. (polymorphisme paramétrique) Philippe GENOUD UJF Janvier

Développement Logiciel

ACTIVITÉ DE PROGRAMMATION

Programmation avec des objets : Cours 7. Menu du jour

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

Synchro et Threads Java TM

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

Programmation Orientée Objet Java

PROGRAMMATION PAR OBJETS

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

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

Derrière toi Une machine virtuelle!

Calcul Parallèle. Cours 5 - JAVA RMI

Dis papa, c est quoi un bus logiciel réparti?

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

Support de cours et TD Programmation Orientée Objet

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

Flux de données Lecture/Ecriture Fichiers

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

Classe Interne, Anonyme & Enumération

Design patterns. Design patterns - définition. Design patterns - avantages

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

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

RMI le langage Java XII-1 JMF

Introduction au langage de programmation Java

Cours de C++ François Laroussinie. 2 novembre Dept. d Informatique, ENS de Cachan

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

Remote Method Invocation Les classes implémentant Serializable

OpenPaaS Le réseau social d'entreprise

Par Laurent DESECHALLIERS. Mastère Spécialisé en Management de Projets en Milieu Industriel. CESI de Rouen Promotion 2002/2003.

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Introduction au langage Java

ETUDE DE CAS en UML : GESTION DES COMMANDES DE PIECES FABRIQUEES PAR LA SOCIETE C

Java DataBaseConnectivity

Serveur d'archivage 2007 Installation et utilisation de la BD exist

Remote Method Invocation (RMI)

Étude de l interopérabilité de deux langages de programmation basée sur la machine virtuelle de Java

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

INF 321 : mémento de la syntaxe de Java

INITIATION AU LANGAGE JAVA

Programmation Objet Java Correction

TD2 Programmation concurrentielle

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

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

Introduction à JDBC. Accès aux bases de données en Java

Transcription:

Package Java.util Classe générique 1

Classe Vector La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object add(object o), add(int i, Object o), addelement(object o), insertelementat(object o, int i) pour ajouter un objet remove (Object o), removeelement(object o) removeelementat(int i) pour supprimer un objet get (int i) et elementat(int i) retourne l adresse de l objet à l indice i indexof(object o) retourne la position de l objet size() 2

import java.util.*; public class UseVector1{ public static void main(string args[]){ Vector vect = new Vector(5); vect.addelement(new Integer(3)); vect.addelement(new String("Bonjour")); vect.addelement(new Float(3.14)); vect.addelement(new Integer(1)); vect.addelement(new Integer(2)); vect.addelement(new Integer(3)); apr?s add : [3, Bonjour, 3.14, 1, 2, 3] et taille = 6 capacit? du vecteur : 10 [3, Bonjour, 3.14, 1, 2, 3] vect[0] : java.lang.integer --> 3 vect[1] : java.lang.string --> Bonjour vect[2] : java.lang.float --> 3.14 vect[3] : java.lang.integer --> 1 vect[4] : java.lang.integer --> 2 vect[5] : java.lang.integer --> 3 apr?s set: [3, 1000, 3.14, 1, 2, 3] apr?s remove : [1000, 3.14, 1, 2, 3] et taille = 5 System.out.println("après add : " + vect + " et taille = " + vect.size()); System.out.println("capacité du vecteur : " + vect.capacity()); System.out.println(vect); for(int i=0; i < vect.size(); i++) if(vect.elementat(i)!= null) System.out.println("vect[" + i + "] : " + vect.elementat(i).getclass().getname() + " --> " + vect.elementat(i)); else System.out.println("vect[" + i + "] est null"); if(vect.elementat(1)!= null){vect.set(1, new Integer(1000)); System.out.println("après set: " + vect); vect.remove(0); System.out.println("après remove : " + vect + " et taille =" + vect.size()); 3

Iterator public boolean hasnext() public Object next() public void remove() (enlève le dernier élément retourné) 4

import java.util.*; class Point {private int x,y; public Point(int a, int b) {x=a; y=b; public int getx() {return x; public int gety() {return y; public void affiche() {System.out.println("x = "+x+" y = "+y); class Gestion_tab { private Vector clt; //private Linkedkist clt; private int nb_pts_positifs; public Gestion_tab( int n) {clt= new Vector(); // clt=new linkedlist(); nb_pts_positifs=0; public void ajoute_pt(int a, int b) { Point pp= new Point(a,b); clt.add(pp); public void affiche_tous_pts() {for (int i=0; i <clt.size(); i++) {Object obj=clt.get(i); Point pp=(point)obj; pp.affiche(); 5

public void calcul_pts_positifs() {int nb=0; Iterator it=clt.iterator(); while (it.hasnext()) {Object obj=it.next(); Point pp=(point) obj; if ((pp.getx() >0) &&(pp.gety()>0)) nb++; nb_pts_positifs=nb; System.out.println("Nombre de points positifs= "+ nb_pts_positifs); public class TestVector { public static void main (String[] args) {Gestion_tab t=new Gestion_tab(); int nb_pts=saisie.lire_entier(); t.ajoute_pt(2,3); t.ajoute_pt(5,5); t.affiche_tous_pts(); t.calcul_pts_positifs(); 6

Classe générique class Gclasse<T> { private T t; //autre variables public Gclasse(T u) {t=u; //autre méthodes C est la déclaration de la classe générique de paramètre T public void method1(t v) { public <T extends Personne> void method2() { (la méthode doit respecter T hérite de Personne ) public <T extends Personne> T method4() { public T method5 () { 7

T peut être les types prédéfinis (String, Integer, ) ou les classes Personne, Point, T est déclaré <T>? designe le type inconnu, il peut prendre n importe quelle valeur de type <? extends xxx> Il ne peut pas avoir de constructeur T( ) 8

Tableaux génériques class Gestion_tab { private Vector<Point> clt; private int nb_pts_positifs; public Gestion_tab( ) {clt= new Vector<Point>(); nb_pts_positifs=0; public void ajoute_pts(int n) {for (int i=0; i <n;i++) {Point pp= new Point(); clt.add(pp); public void affiche_tous_pts() {for (Point pp :clt) pp.affiche(); public void calcul_pts_positifs() {int nb=0; for (Point pp:clt) if ((pp.getx() >0) &&(pp.gety()>0)) nb++; nb_pts_positifs=nb; System.out.println("Nombre de points positifs= "+ nb_pts_positifs); public class TestVector1 { public static void main (String[] args) {Gestion_tab t=new Gestion_tab(); int nb_pts=saisie.lire_entier(); t.ajoute_pts(nb_pts); t.affiche_tous_pts(); t.calcul_pts_positifs(); 9

class Point implements Comparable<Point> { public int compareto( Point p) { int n=0; if (this.x < p.x) n=-1; if (this.x ==p.x) n=0; if (this.x >p.x) n=1; return n; class Gestion_tab { private Vector<Point> clt; private int nb_pts_positifs; public void tri() {Collections.sort(clt); 10

class Cl_Obj {private Object t; public Cl_Obj(Object u) {t=u; public Object get() {return t; public class Testobjet { public static void main(string[] args) {Cl_Obj nb1= new Cl_Obj (new Integer(37)); Cl_Obj st1= new Cl_Obj("bonjour"); int v=(integer)nb1.get();//pas int; String s=(string)st1.get(); System.out.println(v); System.out.println(s); nb1=st1; v=(integer)nb1.get(); // erreur l'exécution 11