[PDF] Documentation (1/3) En Java l'outil javadoc (





Previous PDF Next PDF



Listes chaînées

Il y a plusieurs façons de représenter les listes chaînées en Java. La méthode utilisée est alors de parcourir la liste avec deux références :.



Collections en Java

Pour parcourir une liste il a été défini un itérateur spécialement pour la liste. public interface ListIterator extends Iterator { boolean hasNext();.



Chapitre 8 Collections en Java

Pour parcourir une liste il a été défini un itérateur spécialement pour la liste. public interface ListIterator extends Iterator { boolean hasNext();.



Collections : listes

Le concept de liste est représenté dans l'API Java par l'interface List du paquetage Les collections dont on peut parcourir les éléments offrent.



Chapitre 10 Listes chaînées

Il est possible de parcourir la liste doublement chaînée du premier élément vers le dernier. Le pointeur de parcours P



Collections : listes Collections

Le concept de liste est représenté dans l'API Java par l'interface List du paquetage Les collections dont on peut parcourir les éléments offrent.



Manipulation de XML avec JDOM et Java

http://cynober.developpez.com/tutoriel/java/xml/jdom/. JDOM Parcourir un fichier XML ... Une fois le filtre créé nous pourrons récupérer une liste.



Programmer en Java 6e Èdition

Ainsi à une liste chaînée LinkedList<String>



Les objets en Java Plan Types et Classes Exemple 1: fraction

Second exemple: une liste. • L'héritage en Java. Types et Classes. • Types primitifs Nécessité de parcourir la liste. • Affichage de la liste:.



Documentation (1/3)

En Java l'outil javadoc (fourni avec le JDK) permet de générer une ListIterator



Parcourir une liste en Java - WayToLearnX

17 mar 2020 · Dans ce tutoriel nous allons découvrir différents façons pour parcourir une liste en Java Exemple 1 : En utilisant List toString()



Parcourir un ArrayList en Java - WayToLearnX

19 mar 2020 · Dans ce tutoriel nous allons découvrir différents façons pour parcourir un ArrayList en Java en utilisant: La boucle for; La boucle for-each 



[PDF] Collections en Java

Pour parcourir une liste il a été défini un itérateur spécialement pour la liste public interface ListIterator extends Iterator { boolean hasNext(); Object 



[PDF] Chapitre 12 - Utilisation dobjets : String et ArrayList - Cnam

En java les chaînes de caractères sont des objets Nous allons apprendre dans ce chapitre à mieux les utiliser La seconde classe s'appelle ArrayList Les 



[PDF] Collections : listes - Pratique de la programmation OO

Pour chaque type de collection (liste ensemble etc ) l'API Java contient généralement : – une interface qui décrit les opérations offertes par la



Utiliser la classe Iterator pour parcourir une ArrayList - - C/C++

code source import java util ArrayList; import java util Iterator; public class ArrayL_Iter { java exemple tutoriel cours



[PDF] Collection - IGM

L'API des collections (java util) fournit les List of() avec un tableau d'objets copie les valeurs Comment faire pour les parcourir ?



[PDF] Les Collections - IGM

La classe java util List liste indexée ou séquentielle – Queue file (FIFO) de données Pour parcourir une collection on utilise un objet



Développons en Java - Les collections - Jean-Michel Doudoux

List : collection d'éléments ordonnés qui accepte les doublons; Set : collection L'interface Enumeration permet de parcourir le contenu de ces objets



[PDF] Programmation Objet Java–Collections - lamsade

Java–Collections List: suite d'éléments de type E (avec duplication) Autre manière de parcourir une collection : on utilise un Iterator 

:

Programmation Objet 1 - Compléments Java1La structure des programmes objets et leur modularité permet de créer une

documentation structurée facilement utilisable. La documentation permet la réutilisation des programmes et leur extension. Un programme n'est jamais trop documenté. En Java, l'outil javadoc (fourni avec le JDK) permet de générer une documentation HTML à partir de commentaires contenus dans le code. Il est également possible de fournir à l'outil javadoc des fichiers de documentation des paquetages, des images, etc.Documentation (1/3) Programmation Objet 1 - Compléments Java2Documentation (2/3) Chaque entité (classe, attribut, méthode, etc) peut être commentée. Un commentaire s'écrit entre /** et */. Les commentaires peuvent contenir des tags prédéfinis. /** Cette classe mod\u00e8lise les primates bip\u00e9des * . * @author tartempion * @version 21 * @see Primate */ public class Humain{ private int taille; private boolean male; /** Le nombre de chromosomes. */ public static final int nbChromosomes = 24; /** @return Cette m\u00e8thode renvoie le poids id\u00e8al de * l'humain selon sa taille et son sexe. * @throws TropGrosException */ public float poidsIdeal(){ Programmation Objet 1 - Compléments Java3Le programme javadoc peut ne prendre en compte que les membres publics, ou d'autres, selon les options. javadoc Humain.java ►Documentation (3/3)

Programmation Objet 1 - Compléments Java4En plus des tableaux, Java offre dans le package java.util des classes

implémentant des structures de données

: listes, ensembles, tableaux associatifs, tables de hachage, et même des arbres.Structures de données en Java

Collection

ListSetQueueDequeMap

LinkedListAbstractMap

HashMapHashTable

TreeMap

StackHashSetEnumSet

Programmation Objet 1 - Compléments Java5Collection est une interface générique qui offre des méthodes d'ajout, de

suppression, de recherche, etc. Iterator est une interface offrant des méthodes pour le parcours séquentiel d'une structure linéaire.Collection boolean add(T o) void clear() boolean contains(Object o) boolean remove(Object o) int size()

T[] toArray(T[] t)

Iterator iterator()

boolean hasNext()

T next()

void remove()

Programmation Objet 1 - Compléments Java6L'interface Iterator permet de supprimer des éléments en cours de parcours

(méthode remove).

Syntaxe de type foreach (ne permet pas la modification en cours de parcours) :ListIterator, sous interface de Iterator, permet de parcourir une liste dans

les deux sens (seulement pour les List).Iterator

ArrayList l = new ArrayList();

for(int i=0;i<100;i++) l.add((int) (Math.random()*100)); for(Iterator i = l.iterator();i.hasNext();){

System.out.println(i.next());

ArrayList l = new ArrayList();

for(int i=0;i<100;i++) l.add((int) (Math.random()*100)); for(Integer i : l){

System.out.println(i.next());

Programmation Objet 1 - Compléments Java7List est une interface qui ajoute à Collection des méthodes de consultation :List est implémentée par ArrayList, Vector, LinkedList, etc.

ArrayList est une implémentation de liste par tableau, efficace pour l'accès aux

éléments, mais non synchronisée.

Vector est une implémentation de liste par tableau et synchronisée, donc un peu moins efficace qu'ArrayList, mais sans problème d'accès concurrent de threads différents. LinkedList est une implémentation de liste doublement chainée, non synchronisée, efficace pour l'ajout ou la suppression d'élément.List (1/2)

T get(int i)

int indexOf(Object o)

Programmation Objet 1 - Compléments Java8Les accés à une liste doivent être synchronisés sous peine de comportement

incohérent. Pour avoir une liste synchronisée, utiliser une classe de listes synchronisées ou la méthode de synchronisation de la classe Collections :List (2/2) l.remove(4);

23791processus p1

l.remove(4);processus p2

LinkedList l = new LinkedList();

for(int i=0;i<12;i++) l.add("A"+i); List synchroL = Collections.synchronizedList(l); synchroL.add("bidule");

Programmation Objet 1 - Compléments Java9Set est une interface pour les ensembles d'éléments forcément différents (au sens

de equals pour les objets). Set est implémentée par EnumSet et HashSet.

EnumSet est une implémentation d'ensemble pour les types énumérés : HashSet est une implémentation d'ensemble par table de hachage.

Les Set peuvent aussi être synchronisés.Set

enum ArcEnCiel{rouge, orange, jaune ,vert, bleu, indigo, magenta, violet}; public static void main(String[] arg){ EnumSet s = EnumSet.range(ArcEnCiel.vert,ArcEnCiel.magenta); for(Iterator i = s.iterator();i.hasNext();)

System.out.println(i.next());

Programmation Objet 1 - Compléments Java10Map est interface de tableau associatif (couples clé-valeur).

HashMap est une implémentation de Map par table de hachage, non synchronisée, avec possibilité de clé et valeur null. Hashtable est une implémentation de Map par table de hachage, synchronisée, et n'autorise pas les valeurs null.Map

V put(K a, V b)

V get(Object o)

V remove(Object o)

Set keySet()

Collection values()

int size() HashMap hm = new HashMap(); hm.put("Toto",20); int i = hm.get("Toto");

Programmation Objet 1 - Compléments Java11Collections est une classe offrant des méthodes static de manipulation de

Collection : synchronisation, tri, recherche, inversion, permutation, etc Il existe aussi une classe Arrays qui offre les mêmes méthodes pour les tableaux.Collections

LinkedList l = new LinkedList();

int[] t = {0,0,0}; l.add(t);l.add(t); t = new int[4]; for(int i=0;iCollections.fill(l,t); for(int[] tab : l) for(int i=0;iSystem.out.println(tab[i]);

Collections.reverse(l);

Programmation Objet 1 - Compléments Java12Les méthodes de Collections, en particulier de tri, utilise des méthodes

de comparaisons.

Exemple : on veut trier une liste de personnes par nom ou par âge.Il faut que les objets de la liste implémentent des méthodes de

comparaison. Par défaut, Collections.sort(List l) utilise l'interface

Comparable.Comparable et Comparator (1/3)

class Personne{

String nom, prenom;

int age; static LinkedList gens = new LinkedList();

Collections.sort(gens);

Programmation Objet 1 - Compléments Java13On peut spécifier la méthode de comparaison à utiliser en implémentant l'interface

Comparator.Comparable et Comparator (2/3)

class Personne implements Comparable{

String nom, prenom;

int age; static LinkedList gens = new LinkedList(); public int compareTo(Personne o){ return this.nom.compareTo(o.nom);

Collections.sort(gens);

class ComparePersonneParAge implements Comparator{ public int compare(Personne p1, Personne p2){ return p1.age - p2.age; public boolean equals(Object o){return true;}

Programmation Objet 1 - Compléments Java14Comparator est un exemple de l'utilisation du patron de conception Strategy, dont

le but est de permettre de modifier le comportement des objets au cours de l'exécution du programme.Comparable et Comparator (3/3) class Personne implements Comparable{

String nom, prenom;

int age; static LinkedList gens = new LinkedList(); public int compareTo(Personne o){ return this.nom.compareTo(o.nom);

Collections.sort(gens);

Collections.sort(gens,new ComparePersonneParAge());

Programmation Objet 1 - Compléments Java15Sérialiser un objet consiste à le sauvegarder dans un fichier ou un flux.

- échange d'objets entre applications distantes - sauvegarde de l'état d'exécution d'un programme Il faut sauvegarder les valeurs d'attributs et la façon de recréer l'objet (classe avec constructeur) Tout objet implémentant l'interface java.io.Serializable est sérialisable. Serializable n'a aucune méthode (interface de marquage). Les interfaces ObjectOutput et ObjectInput offrent des méthodes de sérialisation et de désérialisation : void writeObject(Object o)

Object readObject()Sérialisation (1/2)

Programmation Objet 1 - Compléments Java16Comportement par défaut de la sérialisation : toutes les valeurs des attributs non

static ou transient sont sauvées. Des informations sur la classe (types et noms des attributs) sont aussi sauvées pour permettre de recréer l'objet.Sérialisation (2/2) class C implements Serializable ...

C c = new C();

File f = new File("Toto.truc");

ObjectOutput os = new ObjectOutputStream(new FileOutputStream(f)); os.writeObject(c); os.close(); ObjectInput is = new ObjectInputStream(new FileInputStream(f));

C c = (C) is.readObject();

is.close(); Programmation Objet 1 - Compléments Java17Clonage (1/2) Cloner un objet consiste à le répliquer, avec les mêmes valeurs d'attribut. - préserver l'état d'un objet avant un traitement - gagner du temps si la création par constructeur est très lourde Tout objet implémentant l'interface java.lang.Cloneable est clonable. Cloneable n'a aucune méthode (interface de marquage). cloner = appeler la méthode Object clone() de la classe Object Clonage de surface : on ne clone pas les valeurs des attributs - comportement par défaut de la méthode clone() Clonage profond : on clone récursivement les valeurs, jusqu'à aboutir à des valeurs de types primitifs Clonage semi-profond : on s'arrête avant de toucher le fond Programmation Objet 1 - Compléments Java18Clonage (2/2) public class Personne implements Cloneable{ private String nom; private ArrayList amis;

Personne(String n){

this.nom = n; this.amis = newArrayList(); public void addAmi(Personne p){ this.amis.add(p); } public Object clone(){

Personne p = new Personne(this.nom);

for(Personne e:this.amis) p.addAmi(e); return p; public Object deepCopy(){

Personne p = new Personne(this.nom);

for(Personne e:this.amis) p.addAmi((Personne) e.deepCopy()); return p; une sérialisation suivie d'une désérialisation = un clonage profondquotesdbs_dbs44.pdfusesText_44
[PDF] les collection en java

[PDF] hashtable java open classroom

[PDF] guerre de tranchées date

[PDF] exercices corrigés sur les collections en java pdf

[PDF] java liste vide

[PDF] cours php pdf complet

[PDF] parcours 3éme année du cycle secondaire collégial

[PDF] référentiel parcours avenir

[PDF] contraintes du parcours avenir

[PDF] parcours avenir folios

[PDF] les grandes phases de la seconde guerre mondiale

[PDF] epi parcours avenir stage

[PDF] l'immigration irlandaise aux etats unis

[PDF] immigration aux etats unis au 20eme siecle

[PDF] intégration irlandaise aux etats unis