La notion de collection ○ Une collection est un objet qui regroupe d'autres java util SortedSet ○ SortedSet : Interface définie pour des collections
Previous PDF | Next PDF |
[PDF] Java : les collections
Java Les collections, c'est quoi ? sont des objets permettent de regrouper et List Java List ArrayList LinkedList Vector H H: Research and Training 6 / 50
[PDF] Les collections en Java - Université de Genève
Digression 1: les interfaces Java ❖ Digression 2: les classes génériques ❖ Les collections de données: 1 Les tableaux dynamiques: la classe ArrayList 2
[PDF] Les Collections - LIRMM
La notion de collection ○ Une collection est un objet qui regroupe d'autres java util SortedSet ○ SortedSet : Interface définie pour des collections
[PDF] Les Collections - IGM
12 Comparator inverse ○ Il existe deux méthodes static dans la classe java util Collections qui renvoie un comparator correspondant à : ○ L'inverse de l'ordre
[PDF] Les collections - IGM
Il n'existe pas de méthode contains() ou shuffle() qui prend en paramètre un tableau dans java util Arrays mais en utilisant une vue public static void main( String
[PDF] Programmation Objet Java–Collections - LAMSADE
Ex : import java util *; class ListTest { public static void main(String [] args){ Collection l = new ArrayList(); l add("1"); l add("2"); l add("3"); f(l); }
[PDF] Les collections dans Java 2 Les collections dans Java 2 - Les pages
avoir un sens aussi bien pour les collections autorisant la duplication des éléments (List) que pour celles ne l'autorisant pas (Set) ○ boolean add(Object o ) ○
[PDF] Collections Collections Collections javautilArrayList
paquetage java util Peter Sander ESSI-Université de Nice Sophia Antipolis 3 Collections ❍ Problème ○ les tableaux ne répondent pas toujours à tous les
[PDF] Les collectivités territoriales
[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
Les collections en Java L. NerimaUniversité de Genève
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