0% ont trouvé ce document utile (0 vote)
14 vues10 pages

Les Collections: Office de La Formation Professionnelle Et de La Promotion Du Travail

Le document présente des concepts fondamentaux de la programmation en Java, notamment les classes String, Arrays, ArrayList et Hashtable. Chaque section décrit les fonctionnalités, les méthodes et les exemples d'utilisation de ces classes pour la manipulation de chaînes de caractères, de tableaux et de collections. Il sert de guide pour comprendre et utiliser ces structures de données dans le développement Java.

Transféré par

Joel MINKA
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
14 vues10 pages

Les Collections: Office de La Formation Professionnelle Et de La Promotion Du Travail

Le document présente des concepts fondamentaux de la programmation en Java, notamment les classes String, Arrays, ArrayList et Hashtable. Chaque section décrit les fonctionnalités, les méthodes et les exemples d'utilisation de ces classes pour la manipulation de chaînes de caractères, de tableaux et de collections. Il sert de guide pour comprendre et utiliser ces structures de données dans le développement Java.

Transféré par

Joel MINKA
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 10

ROYAUME DU MAROC

Office de la Formation Professionnelle et de la Promotion du Travail

Les collections

DIRECTION RECHERCHE ET INGENIERIE DE FORMATION


SECTEUR NTIC
Les collections

1. la classe String ................................................................................ 2


1.1. Définition d’une chaîne de caractères ............................................... 2
1.2. Longueur et accès aux caractères .................................................... 2
1.3. Comparaison ................................................................................ 2
1.4. Autres méthodes : ....................................................................... 2
2. La classe Arrays ............................................................................... 3
3. La classe ArrayList ........................................................................... 4
4. La classe Hashtable .......................................................................... 7
4.1. Qu’est ce qu’un dictionnaire ? ......................................................... 7
4.2. Définition d’un dictionnaire ............................................................. 7
4.3. Ajout et suppression d’éléments ...................................................... 7
4.4. Accès aux éléments ....................................................................... 7

Document Millésime Page


OFPPT @ C-C-001C-C-001 janvier 25 1 - 10
Les collections

1. la classe String
La classe String a déjà été utilisée dans les programmes, 2 caractéristiques
essentielles :

 La classe String permet la manipulation de chaînes de caractères.

 lLes objets String sont constants.

1.1. Définition d’une chaîne de caractères


String maChaine, uneAutre;
maChaine = « voici une chaîne »; uneAutre = « en voilà une autre »;
String maChaine2 = new String(« voici une chaîne »);

1.2. Longueur et accès aux caractères


La méthode length() fournit la longueur d’une chaîne de caractères.
La méthode charAt() renvoie un caractère de rang donné
String maChaine = « voici une chaîne »;
int lgrMaChaine = maChaine.length();
char carac = maChaine.charAt(0); // carac prend la valeur ‘v’

1.3. Comparaison
La méthode equals() permet de comparer deux chaînes.
String chaine1= »voici une chaîne »; String chaine2= »et une autre »;
if(chaine1.equals(chaine2)) [...] else [...]

1.4. Autres méthodes :


String chaine1 = « voici une chaîne « ;
String chaine2 = chaine1.substring(2,5);
// extraction de sous-chaîne : chaine2 vaut « ici »
// ch.substring(deb, fin+1) pour obtenir les caractères de rangs deb à fin
String chaine3 = chaine1.trim().toUpperCase();
// écrémage puis majuscule : chaine3 vaut « VOICI UNE CHAÎNE »
String chaine4 = chaine1.replace(‘i’,’?’);
// remplacement des occurences d’un caractère : chaine4 vaut « vo?c?
une chaîne «
int rangDeH = chaine1.indexOf(‘h’);
// rangDeH vaut 11, (-1 si la lettre était absente de chaine1)
String chaine5 = String.valueOf(20.6);
// représentation d’une valeur numérique sous forme de chaîne (méthode
de classe)

Document Millésime Page


OFPPT @ C-C-001 janvier 25 2 - 10
Les collections

2. La classe Arrays
Cette classe permet la manipulation de tableaux. La classe Arrays fournit des
méthodes de recherche dans un tableau trié (binarySearch), de comparaison
de tableaux (equals), de remplissage de tableau (fill) et de tri de tableau
(sort).
// Ce programme est tiré de l’ouvrage Deitel et Deitel : Comment Programmer en
Java
// Utilisation des tableaux en Java.
import java.util.*;
public class UtilisationTableaux {
private int valeursInt[] = { 1, 2, 3, 4, 5, 6 };
private double valeursDouble[] = { 8.4, 9.3, 0.2, 7.9, 3.4 };
private int rempliDInt[], copieValeursInt[];
public UtilisationTableaux()
{
rempliDInt = new int[ 10 ];
copieValeursInt = new int[ valeursInt.length ];
Arrays.fill( rempliDInt, 7 ); // remplir avec des 7.
Arrays.sort( valeursDouble ); // trier valeursDouble.
System.arraycopy( valeursInt, 0, copieValeursInt,
0, valeursInt.length );
}

public void afficheTableaux()


{
System.out.print( « valeursDouble: « );
for ( int k = 0; k < valeursDouble.length; k++ )
System.out.print( valeursDouble[ k ] + « « );
System.out.print(« \nvaleursInt: « );
for ( int k = 0; k < valeursInt.length; k++ )
System.out.print( valeursInt[ k ] + « « );
System.out.print(“\nrempliDInt: “ );
for ( int k = 0; k < rempliDInt.length; k++ )
System.out.print( rempliDInt[ k ] + “ “ );
System.out.print(“\ncopieValeursInt: “ );
for ( int k = 0; k < copieValeursInt.length; k++ )
System.out.print( copieValeursInt[ k ] + « « );
System.out.println();
}

public int rechercheUnInt( int valeur )


{
return Arrays.binarySearch( valeursInt, valeur );
}

public void afficheEgalite()


{
boolean b = Arrays.equals( valeursInt, copieValeursInt );
System.out.println( « valeursInt « + ( b ? « == » : « != » )
• « copieValeursInt » );

b = Arrays.equals( valeursInt, rempliDInt );


System.out.println( « valeursInt « + ( b ? « == » : « != » )
• « rempliDInt » );
}

public static void main( String args[] )


{
UtilisationTableaux u = new UtilisationTableaux();

Document Millésime Page


OFPPT @ C-C-001 janvier 25 3 - 10
Les collections

u.afficheTableaux();
u.afficheEgalite();

int n = u.rechercheUnInt( 5 );
System.out.println( ( n >= 0 ? « Trouv’ 5 … l »l’ment « + n :
« 5 introuvable » ) + « dans valeursInt » );
n = u.rechercheUnInt( 8763 );
System.out.println( ( n >= 0 ? « Trouv’ 8763 … l »l’ment «
• n : « 8763 introuvable » )
• « dans valeursInt » );
}
}

valeursDouble: 0.2 3.4 7.9 8.4 9.3


valeursInt: 1 2 3 4 5 6
rempliDInt: 7 7 7 7 7 7 7 7 7 7
copieValeursInt: 1 2 3 4 5 6
valeursInt == copieValeursInt
valeursInt != rempliDInt
Trouvé 5 à l’élément 4 dans valeursInt
8763 introuvable dans valeursInt

3. La classe ArrayList
Cette classe implémente un tableau d’objets de taille dynamique ( qui peut
augmenter ou diminuer à l’exécution )
Elle possède trois constructeurs

public ArrayList ( )
public ArrayList ( int capaciteInitiale )
public ArrayList ( Collection c )

Les deux premiers construisent un tableau vide


Le troisième ajoute les éléments de la collection passée en paramètre
La méthode
public boolean add ( Object obj )
permet d’ajouter un objet à la fin du tableau
La méthode
public Object set ( int index , Object obj )
remplace l’élément d’indice index par l’élément obj passé en paramètre. Elle
retourne l’élément remplacé.

La méthode
public void add ( int index , Object obj )
insère l’élément obj passé en paramètre à la position index
La méthode
public Object remove ( int index )

Document Millésime Page


OFPPT @ C-C-001 janvier 25 4 - 10
Les collections

permet de suprimer l’élément de position index. Elle retourne l’élément


suprimé.

La méthode
public Object get ( int index )
retourne l’élément de position index.
La méthode
public int size ( )
retourne le nombre d’éléments du tableau.

La méthode
public boolean isEmpty ( )
retourne vrai si le tableau ne contient aucun élément.

Les méthodes
public int indexOf ( Object obj )
public int lastIndexOf ( Object obj )

permettent de rechercher la première ou la dernière occurrence de l’objet obj


passé en paramètre. Elles retournent l’indice de l’élément touvé sinon -1. La
comparaison se fait en utilisant la méthode equals.

La méthode
public void trimToSize ( )
ajuste la taille du tableau.
Les méthodes
public Object [ ] toArray ( )
public Object [ ] toArray ( Object [ ] a )

retournent un tableau « classique » d’objets.

La méthode
public String toString ( )
retourne une chaîne de caractères représentant les éléments du tableau en
appliquant la méthode toString à chacun des éléments du tableau.

La méthode
public boolean equals ( Object obj )
permet de comparer l’ »ArrayList » courante avec celle passée en paramètre
en utilisant la méthode equals

La méthode
public Iterator iterator ( )
retourne un iterateur qui permet de parcourir les éléments de l’ »ArrayList »
courante.

Document Millésime Page


OFPPT @ C-C-001 janvier 25 5 - 10
Les collections

Exemple :

import java.util.ArrayList;
import java.util.Iterator;

public class programme {


public static void main(String[] args) {
ArrayList tableau = new ArrayList(500);

for(int i = 1; i <= 100; i++)


tableau.add(new Integer(i));
tableau.trimToSize();

System.out.println("Taille du tableau : " + tableau.size());

if(tableau.contains(new Integer(50)))
System.out.println("L'objet Integer ayant une "
+ "valeur égale à 50 a été trouvé");

for(int i = 0; i < tableau.size(); i++)


System.out.println(i + " : " + tableau.get(i).getClass()
+ " " + tableau.get(i));

for(int i = 0; i < tableau.size(); i++)


if(((Integer)tableau.get(i)).intValue() % 2 != 0)
tableau.set(i, null);

Iterator iterateur = tableau.iterator();


while(iterateur.hasNext())
System.out.println(iterateur.next());

System.out.println("Le premier null se trouve à l'index "


+ tableau.indexOf(null));
System.out.println("Le dernier null se trouve à l'index "
+ tableau.lastIndexOf(null));

Integer[] type = new Integer[10];


Object[] sauvegarde = tableau.toArray(type);
System.out.println(sauvegarde.getClass());

if(!tableau.isEmpty())
tableau.clear();

System.out.println("Taille du tableau : " + tableau.size());


}
}

Document Millésime Page


OFPPT @ C-C-001 janvier 25 6 - 10
Les collections

4. La classe Hashtable
4.1. Qu’est ce qu’un dictionnaire ?
Un dictionnaire est une collection d’éléments qui s’agrandit dynamiquement en
fonction des besoins. Les éléments d’un dictionnaire sont des associations
entre une clé (de type Object) et une valeur (elle aussi de type Object).

Information partielle Totalité de l'information


Clé Valeur

4.2. Définition d’un dictionnaire


La classe Hashtable du package java.util permet de définir un dictionnaire:
Hashtable dico = new Hashtable();

4.3. Ajout et suppression d’éléments


Méthodes de la Commentaires
classe Hashtable
put (Object clé, Object ajoute une association clé-valeur. Si la clé était
valeur) déjà présente dans le dictionnaire, l’ancienne
valeur est remplacée par la nouvelle.
remove (Object cle) supprime l’association dont la clé est indiquée
par le paramètre

4.4. Accès aux éléments


Méthodes de la Commentaires
classe Hashtable
get(Object clé) renvoie la valeur de l’association dont la clé est
indiquée par le paramètre
size() .renvoie le nombre d’associations.
isEmpty() renvoie true si l’objet ne contient aucune
association.
containsKey(Object) renvoie true si la clé passée en argument
existe dans le Hashtable

valeur
clé

On n’a pas accès à l’ordonnancement des associations dans la table de


hachage, c’est un algorithme interne qui s’en charge. Du coup la première
association que l’on a créée ne sera pas forcement celle que l’on verra
apparaître lors d’une itération sur la table.

Document Millésime Page


OFPPT @ C-C-001 janvier 25 7 - 10
Les collections

Exemple :

import java.util.Enumeration;
import java.util.Hashtable;

public class CollectionMap {


public static void main(String[] args) {
String[] joursSemaine = {
"lundi",
"mardi",
"mercredi",
"jeudi",
"vendredi",
"samedi",
"dimanche"
};
String[] daysOfWeek = {
"sunday",
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday"
};
Hashtable tableHachage = new Hashtable();
for(int i = 0; i < joursSemaine.length; i++){
tableHachage.put(daysOfWeek[i < joursSemaine.length - 1 ? i+1 :
0],
joursSemaine[i]);
System.out.println(tableHachage.toString());
}
System.out.println("Taille de la table de hachage : "
+ tableHachage.size());
int i = 1;
Enumeration valeurs = tableHachage.elements();
Enumeration cles = tableHachage.keys();
while(valeurs.hasMoreElements() && cles.hasMoreElements()){
System.out.println(i++ + " entrée : " + valeurs.nextElement()
+ " -> " +
tableHachage.remove(cles.nextElement()));
}
System.out.println("Taille de la table de hachage : "
+ tableHachage.size());
}
}

Document Millésime Page


OFPPT @ C-C-001 janvier 25 8 - 10
Les collections

Pour approfondir le sujet….


Proposition de références utiles permettant d’approfondir le thème abordé

Sources de référence
Citer les auteurs et les sources de référence utilisées pour l’élaboration du
support

Document Millésime Page


OFPPT @ C-C-001 janvier 25 9 - 10

Vous aimerez peut-être aussi