Chapitre 8 Collections en Java
2. Collections & Java. Une collection gère un groupe d'un ensemble d'objets d'un type donné ; ou bien c'est un objet qui sert à stocker d'autres objets.
Collections en Java
Organisées en deux catégories: Collection & Map. Page 3. - IFT1176 - Aspects avancés en Java -. © Mohamed N. Lokbani.
Les collections en Java
Les collections en Java. ? Les interfaces racine Collection et Map. ? Digression 1: les interfaces Java. ? Digression 2: les classes génériques.
Programmation Objet Java–Collections
Ex : import java.util.*; class ListTest { public static void main(String [] args){. Collection<String> l = new ArrayList<>(); l.add("1"); l.add("2");
5. Collections dans Java
Une collection est un objet qui contient dans le paquetage : java.util. ... Collections et versions de. Java. ? Premières versions de Java : – Tableaux.
VIII- Les collections.pdf
A quoi cela sert ? ? Par exemple java.util.Arrays.sort() demande à ce que le tableau contienne des éléments.
Cours 8 : Les collections Inspiré du livre de Claude Delannoy
(c) Claude delannoy Programmer en Java
Les collections dans Java 2 Les collections dans Java 2
framework » pour la gestion des collections (package java.util) le framework proposé pour java ne l'est pas tant que cela (dixit.
Héritage et Collections dObjets
Héritage et Collections d'Objets En java toutes les classes héritent de la classe Object
Les collections
En Java il existe 3 sortes de structures de données. Les tableaux. ?. Structure de taille fixe
ISIAutomne 2022 -L. NerimaCollections3PlanvCollections de données (définition) vLes collections en JavavLes interfaces racine Collection et MapvDigression 1: les interfaces JavavDigression 2: les classes génériquesvLes collections de données:1.Les tableaux dynamiques: la classe ArrayList2.Les listes: la classe LinkedList3.Les ensembles: la classe HashSet (TreeSet)4.Les fonctions (map): la classe HashMap
ISIAutomne 2022 -L. NerimaCollections4Collection de donnéesvDéfinition: "Une collection de données est un conteneur d'éléments de même type qui possède un protocole particulier pour l'ajout, le retrait et la recherche d'éléments»vExemples: pile, queue (file d'attente), séquence, ensemble et multi-ensemble, fonction (tableau associatif, dictionnaire ou map en anglais) vOrdre dans les collections: vLes ensembles et les multi-ensembles n'ont pas d'ordrevLes autres collections ont un ordre "naturel» lié à l'ordre dans lequel les éléments ont été insérés dans la collectionvLes classes collection sont définies dans le package java.utilvDéfinies à partir de deux Interfaces JavavCollectionvMap
ISIAutomne 2022 -L. NerimaCollections5Les collections en Java -CollectionvDéfinies à partir de la racine Interface Collection
ISIAutomne 2022 -L. NerimaCollections6Les collections en Java -Map (fonction)vLes collections de type fonction(map), tableau associatifou dictionnaireen Java, sont définies à partir de la racine Interface Map
1: les Interfaces JavavRessemblent aux classes abstraites mais...vToutes les méthodes sont vides (non implémentées), seule la signature des méthodes est définiesignature = entête de la méthodec-à-d le nomde la méthode et la liste des paramètres formelsvAucun champ n'est défini dans une interface, hormis les constantes vCôté client (classes implémentant une interface):vLes classes pourront implémenter plusieurs Interfaces (~ proche de l'héritage multiple)vToutes les méthodes de l'interface devront être implémentées
ISIAutomne 2022 -L. NerimaCollections8Définition et implémentation d'une Interface JavavDéfinitionpublic interface I1{ void m(int i); // signature de la méthode m}public interface I2char n(); // signature de la méthode n}vImplémentation de(s) l'interface(s)class A implements I1, I2{ // implémentation obligatoire des méthodes m et n de I1 et I2}
ISIAutomne 2022 -L. NerimaCollections10Pour chacune des 4 collections, nous étudieronsvles caractéristiques de la collectionvla déclaration / construction (initialisation) de la collectionvles opérations usuelles sur les éléments•ajout•accès•suppressionvla complexité en temps de chacune de ces opérationscomplexité en temps = efficacité de l'algorithmevle parcours de la collection (visite de tous ses éléments)
ISIAutomne 2022 -L. NerimaCollections111. Les tableaux dynamiques: ArrayListvTableaux dynamiques (anciennement Vector, classe qui existe toujours)vDynamique = la taille (nombres d'éléments) du tableau n'est pas fixe et peut varier en cours d'exécutionvL'accès à ses éléments est direct, comme dans un tableau (complexité en temps O(1) ) vL'opération d'ajout et de suppression est en O(N), car nécessitant éventuellement un réarrangement des éléments pour qu'ils soient toujours contigus (comme dans un tableau)
ISIAutomne 2022 -L. NerimaCollections12ArrayList -construction et méthodes usuellesvDéclaration / constructionArrayList
ISIAutomne 2022 -L. NerimaCollections13ArrayList -parcoursvLe parcours de la liste se fait avec la boucle forfor (E e : v) vExemple: afficher tous les éléments d'une listepublic static void affiche (ArrayList
ISIAutomne 2022 -L. NerimaCollections142. Les listes: LinkedListvListes doublement chaînéesvLa liste peut être parcourue par un itérateur bidirectionnel ListIteratorvAjout et supression d'un élément à une position donnée:complexité O(1)vAccès d'un élément en fonction de sa valeur: complexité O(N) car nécessite le parcours de la listevUtilisationvla classe LinkedList se prête bien à l'implémentation des collections ordonnées, c'est-à-direvpilevqueue (file d'attente)vséquence
ISIAutomne 2022 -L. NerimaCollections15LinkedList -construction et méthodes usuellesvDéclaration / constructionLinkedList
ISIAutomne 2022 -L. NerimaCollections16LinkedList -parcoursvLe parcours d'une LinkedList se fait avec un itérateur ListIteratorvNotion de position courante dans la liste avec l'itérateur de liste ListIterator
ISIAutomne 2022 -L. NerimaCollections173. Les ensembles: HashSet (et TreeSet)vUn ensemble est une collection non ordonnée d'éléments de type E, aucun élément ne peut apparaître plus d'une fois dans un ensemblevProblème: comme deux objets distincts ont des références différentes, on ne pourra jamais avoir deux objets égaux même si toutes leurs valeurs sont identiques -> Il faudra définir un comparateur qui sera capable de tester l'égalité de deux objets (equals et compareTo)vMême s'il n'existe pas d'ordre dans un ensemble, l'implémentation informatique s'appuie sur une organisation des éléments afin de garantir un accès efficace. Au lieu de O(N)nous auronsvHashSet -> O(1) (implémentation avec une table hachage)vTreeSet -> O(log N) (implémentation avec un arbre de recherche binaire)vL'utilisateur devra définir, pour l'utilisation d'un vHashSet -> les méthodes hashCode et equalsdans la classe deséléments EvTreeSet -> la méthode compareTo dans la classe E
ISIAutomne 2022 -L. NerimaCollections18HashSet -construction et méthodes usuellesvDéclaration / constructionHashSet
ISIAutomne 2022 -L. NerimaCollections19HashSet -parcoursvParcoursà l'aide d'un itérateurHashSet
ISIAutomne 2022 -L. NerimaCollections204. Les fonctions (map): HashMapvFonction(Map ) = ensemble de paires (clé, valeur) vNotion proche de la fonctionau sens mathématiquevEn informatique, la fonctionest aussi appelée tableau associatif ou encoredictionnairevRappel: en Java, les collections de type fonction, sont définies à partir de la racine Interface Map
ISIAutomne 2022 -L. NerimaCollections21HashMap -construction et méthodes usuellesvDéclaration / constructionHashMap
ISIAutomne 2022 -L. NerimaCollections22HashMap -parcoursvEn théorie une mapne dispose pas d'itérateurvEn pratique, on utilise la méthode entrySet() défine dans la classe HashMap pour créer un ensemble à partir du map (l'ensemble des paires de la map); puis on crée un itérateur sur cet ensemblevHashMap
ISIAutomne 2022 -L. NerimaCollections23import java.util.*; // HashMap, Map, Iterator, Setpublic class HashMapDemo{public static void main(String args[]) {/* Déclaration du HashMap persAge */HashMap
[PDF] Les collectivités territoriales "devoir de droit"
[PDF] Les collectivités territoriales + décentralisation
[PDF] les collèges d'élite en France refuser les commandes d'admettre plus de participants de familles à faible revenu
[PDF] les colonies
[PDF] les colonies française
[PDF] Les colonisateurs !
[PDF] Les colorants
[PDF] les combats d'achille pdf
[PDF] les combats de la résistance composition
[PDF] Les combats de Voltaire
[PDF] Les combats des philosophes contre l'esclavage
[PDF] les combats et les condition de vie de la premiereguerre mondiale
[PDF] les combustibles fossile aider moi please
[PDF] les combustibles fossiles(facile mais dur en meme temps svp merci)