Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Map
Set List Queue
SortedMap
SortedSet
NavigableMap
NavigableSet
Collection<E>
Collection
ArrayList LinkedList
List<E>
itd = L.listIterator();
while(itd.hasNext())
System.out.println(itd.next() ); aa bb ee cc
Parcourir une Liste :Foreach
Une autre alternative pour l'itération sur des
structures.
Syntaxe : for(Type var : Objet)
for(String s : L)
System.out.println(s);
for(Etudiant e : L){
System.out.println(e.nom);
LinkedList<E>
Elle représente une liste doublement chaînée.
Constructeurs:
un constructeur sans paramètre
un qui demande une collection. Dans ce cas, la liste sera initialisée
avec les éléments de la collection fournie en paramètre.
Méthodes: Plusieurs méthodes pour ajouter, supprimer ou obtenir le
premier ou le dernier élément de la liste permettent d'utiliser cette
classe pour gérer une pile ou une file :
void addFirst(E e): Ajoute un élément en début de liste.
void addLast(E e): Ajoute un élément en fin de liste.
E getFirst(): Retourne l'élément en début de liste.
E getLast(): Retourne l'élément en fin de liste.
E removeFirst(): Supprime et retourne l'élément en début de liste.
E removeLast(): Supprime et retourne l'élément en fin de liste.
ArrayList vs LinkedList
Contrairement aux LinkedList, les ArrayList sont
rapides en lecture, même avec un gros volume d'objets.
HashSet SortedSet
NavigableSet
TreeSet
En effet, cette classe ne vérifie l’égalité que pour les objets qui ont le
même hashCode
HashSet<E>:Exemple1
public Class Point { public Class Teste{
double x,y;
public static void main(String a[]){
public Point(double x, double y){
this.x=x; this.y=y} HashSet<Point> s=new HashSet<Point>()
} s.add(new Point(1,2));
s.add(new Point(2,2));
System.out.println(s)
}}
[1,2]
[1,2] [2,2] [1,2] [1,2] [2,2]
HashSet<E>:Exemple2
public Class Point { public Class Teste{
double x,y;
public Point(double x, double y){ public static void main(String a[]){
this.x=x; this.y=y}
HashSet<Point> s=new HashSet<Point>()
[1,2]
[1,2] [2,2] [1,2] [2,2]
TreeSet<E>(1)
Avant JDK6.0:
TreeSet<E> implémente l’interface SortedSet<E> extends Set<E>
E first() : 1er élément E last() : dernier élément
subSet(E debut, E fin) : éléments compris entre le début (inclus) et la fin
(exclue)
headSet(E fin) : éléments inférieurs strictement au paramètre fin
tailSet(E debut) : éléments qui sont supérieurs ou égaux au paramètre
debut
Depuis JDK6.0:
TreeSet<E> implémente NavigableSet<E>extends SortedSet<E>
Cette interface (JDK 6) permet de naviguer dans un Set à partir d’un de
ses éléments, dans l’ordre du Set ou dans l’ordre inverse
E lower(E e) , floor(E e) , ceiling(E e) , et higher(E e) retourne
respectivement l’élément inférieur, inférieur ou égal, supérieur, supérieur
ou égal de l’élément e donné en paramètre, null sinon.
TreeSet<E>(2)
Pour que le type E soit décrit dans un TreeSet, il doit implémenter l’interface
Comparable en redéfinissant la méthode int compareTo(Object o) qui
compare l’objet courant à un objet o du type Object.
A.compareTo(B) retourne:
◦ 0 si les deux objets sont égaux A.equals(B) est vrai
◦ un entier négatif si l’objet A est plus petit que B, dans l'ordre de tri souhaité
◦ un entier positif si l’objet A est plus grand que l’objet B.
[ali,13] [karim,18]
[karim,18] [ali,13] [karim,18]
TreeSet<E>:Exemple:
trier selon l’âge
public Class Person implements Comparable {
String nom; Int age; public Class Teste{
else return -1
}
}}
}
[ali,13] [karim,18]
[karim,18] [ali,13][said,18] [karim,18]
Parcours d’un ensemble
Deux méthodes de parcours sont possibles:
Iterator<E> (ou ListIterator<E>)
For-each
le for avec get() ne peut pas être utilisé car la méthode E get(int
index) n’est définie dans l’interface Set<E>
s.add(new Person("karim",18));
s.add(new Person("ali",13));
contraintes : 1 seule valeur par clé ! : La clé, qui sert à identifier une
entrée dans notre collection, est unique au sens de equals
La valeur, au contraire, peut être associée à plusieurs clés.
Clé Valeur
matricule etudiant
Exemple d’une Map
229910 ali
MatriculeEtudiant
220987 karim
SortedMap
Arbre binaire : classe TreeMap.
NavigableMap
Dans les deux cas, seule la clé sera utilisée pour ordonnancer les
informations.
de m
int size() : boolean isEmpty() , void clear() :
HashMap<K,V>
Structure de données qui permet de retrouver très
rapidement un objet si on connaît sa clé K (accès
en temps constant)
Map<Integer,Etudiant> Set<Entry<Integer,Etudiant>>
Parcours d’un Map<K,V>:
Map.Entry<K,V>
Map<Integer,Etudiant> m=new HashMap<Integer,Etudiant>()
m.put(2201, new Etudiant("ali", "karim")); m.put(2202, new Etudiant("said", "kamel"));
Set<Entry<Integer,Etudiant>> tous=m.entrySet();