Académique Documents
Professionnel Documents
Culture Documents
Collection et Généricité
Généricité
Classe paramétrée
p2.setX(‘’SILB’’);
} return tab;
}
• Exemple2 : Créer un tableau trié de paires d’éléments
public class Couple<T extends Comparable>
implements Comparable {
private T x,y;
Couple(T xx,T yy){ x=xx; y=yy;}
@Override
public int compareTo(Object arg0) {
Couple C =(Couple)arg0;
int a = x.compareTo(C.x);
int b = y.compareTo(C.y);
return a!=0 ? a : b;
}}
public static void main(String[] args){
Scanner e = new Scanner(System.in);
Couple<String>[] Tab = new Couple[5];
for( int i=0;i<5;i++)
Tab[i]= new Couple(e.next(),e.next());
Arrays.sort(Tab);
REMARQUE :
Toute classe utilisant cette classe Couple doit
implémenter Comparable Exemple un tableau de
binôme d’étudiant, la classe étudiant doit
implémenter Comparable
Collections
ArrayList - LinkedList
HashMap - TreeMap
-
On peut utiliser les classes existantes, ou en concevoir de
nouvelles (à intégrer convenablement dans la hiérarchie des
classes de collections)
Interface Collection
Principales méthodes
4. En utilisant un itérateur
Interface Iterator
Object next()
Exemple
tab
table.put(p1.getNum(), p1);
table.put(p2.getNum(),p2);
table.put(p4.getNum,p4);
System.out.println(map);
}}
Comment réalise-t-on un accès direct ?
Personne p=table.get(“20040011”);
//accès direct à la onzième personne né en
2004
set.add("CCCCC");
set.add("BBBBB");
set.add("DDDDD");
set.add("BBBBB");
set.add("AAAAA");
Iterator it= set.iterator();
while (it.hasNext()) {
System.out.println(it.next());
} }