Documente Academic
Documente Profesional
Documente Cultură
Lists
Une
tte
10
ArrayList
import java.util.*;
public class ListExample {
public static void main(String
args[]) {
List list = new ArrayList();
list.add("Bernadine");
list.add("Elizabeth");
list.add("Gene");
list.add("Elizabeth");
list.add("Clara");
System.out.println(list);
System.out.println("2: " +
list.get(2));
System.out.println("0: " +
list.get(0));
Affichage
=======
[Bernadine, Elizabeth, Gene,
Elizabeth, Clara]
2 : Gene
0 : Bernadine
13
14
15
Les HashTable
Problmatique : Tableaux (taille fixe) List( recherche-> temps dpendant de la taille de list)
Peut-on
Si
Un
HashTable est une implmentation de Map qui associe une cl une valeur.
N'importe quel objet, mis part null peut y tre ajout.
16
Integer(3),"Mars");
Integer(4),"Avril");
Integer(5),"Mai");
Integer(6),"Juin");
Integer(7),"Juillet");
monHashtable.put(new
monHashtable.put(new
monHashtable.put(new
monHashtable.put(new
monHashtable.put(new
Integer(8),"Aout");
Integer(9),"Septembre");
Integer(10),"Octobre");
Integer(11),"Novembre");
Integer(12),"Dcembre");
17
import java.util.Hashtable;
public class MyHashtableOperations {
public static void main(String a[]){
//Create hashtable instance
Hashtable<String,String> ht = new Hashtable<String,String>();
//add key-value pair to hashtable
ht.put("first", "FIRST INSERTED");
ht.put("second", "SECOND INSERTED");
ht.put("third","THIRD INSERTED");
System.out.println(ht);
//getting value for the given key from hashtable
System.out.println("Value of key 'second': "+ht.get("second"));
System.out.println("Is Hashtable empty? "+ht.isEmpty());
ht.remove("third");
System.out.println(ht);
System.out.println("Size of the Hashtable: "+ht.size());
import java.util.HashMap;
import java.util.Hashtable;
Les HashSet
HashSet
est l'implmentation la
plus utile de Set. Elle permet de
stocker des objets sans doublons.
Pour parcourir un HashSet, on est
oblig d'utiliser un Iterator. Il est
signaler que les Map expliques
plus haut utilisent les Set pour
garder les cls uniques.
Exemple d'oprations sur un
HashSet
21
Remarque :
le double bob de la liste est liminer dans le
set
22
Exemple 1
Set monHashSet=new HashSet(); // on cre notre Set
monHashSet.add(new String("1")); // on ajoute des
string quelconques
monHashSet.add(new String("2"));
monHashSet.add(new String("3"));
monHashSet.add(new String("1")); // oups, je l'ai dja
ajout, la fonction gre l'exception leve,et l'objet
n'est pas ajout
Iterator i=monHashSet.iterator(); // on cre un Iterator
pour parcourir notre HashSet
while(i.hasNext()) // tant qu'on a un suivant
{System.out.println(i.next()); // on affiche le suivant
}/* Notez que l'itration se fait alatoirement. */
23
import java.util.*;
public class SetExample {
public static void main(String args[]) {
Set set = new HashSet(); // Une table de Hachage
set.add("Bernadine");
set.add("Elizabeth");
set.add("Gene");
set.add("Elizabeth");
set.add("Clara");
System.out.println(set);
Set SetTrie = new TreeSet(set); // Un Set tri
System.out.println(sortedSet);}}
Rsultat:
[Gene, Clara, Bernadine, Elizabeth]
[Bernadine, Clara, Elizabeth, Gene]
24
25
Iterateur List
List list = ...;
ListIterator iterator = list.listIterator(list.size());
while (iterator.hasPrevious()) {
Object element = iterator.previous();
// traitement d'un lment}
28
Exercice
On souhaite enregistrer les objets crs partir de la
classe UserData dans une Map (Hashtable()) en
utilisant le champ email comme cl.
Fin
29