Académique Documents
Professionnel Documents
Culture Documents
AU : 2021 - 2022
Auditoire : 2ème Année Licence Multimédia
jihen_khalfallah@yahoo.fr
Plan
• La classe Object
• Les classes Wrapper
• Les chaînes de caractères
• La classe Vector
• Structures de collection
– Tableaux
– L’interface collection
– Vector
Remarque
- Toute classe est une structure de données
Dr J. Khalfallah 2LM (ISITCom) – Programmation java 8
Classes des types primitifs (Wrappers)
• Les classes enveloppe (appelées en anglais classes Wrapper )
• Classes qui encapsulent des types primitifs
• Boolean, Integer, Float, Double, Long, Character
Exemple:
Remarque
- Un type primitif ne prend jamais de majuscule 10
Les classes Wrappers
Problème : les types de base (int, float, double, boolean… ne
sont pas des objets)
‒ Il est parfois indispensable de les manipuler comme des objets
On ne peut pas les stocker tels quels dans les collections
C’est à cela que servent les classes enveloppes (Wrappers)
Permettent de représenter des types de base sous forme
d’objets
Les classes Wrapper permettent en particulier de récupérer
les valeurs minimum et maximum du type de base
correspondant
Les conversions entre types de base et chaînes de
caractères sont possibles via des objets Wrappers
Dr J. Khalfallah 2LM (ISITCom) – Programmation java 11
Les classes Wrappers
Les méthodes :
La méthode xxxValue() Ici xxx représentent des types de données
numériques primitifs (byte, short, int, long, float, double).
Cette méthode permet de convertir la valeur de cet objet Number en
type de données primitif spécifié.
La méthode parseXxx() est utilisée pour obtenir le type de données
primitif d'une certaine String.
parseInt (String s); Ceci retourne un entier (décimal seulement).
La méthode toString() est utilisée pour obtenir un objet String
représentant la valeur de l'objet Number.
La méthode valueOf renvoie l'objet Number correspondant contenant
la valeur de l'argument transmis. L'argument peut être un type de
données primitif, une chaîne, etc.
valueOf(int i); Ceci retourne un objet Integer contenant la valeur de la
primitive spécifiée.
valueOf(String s); Ceci retourne un objet Integer contenant la valeur
12
de la représentation de chaîne spécifiée
Les classes Wrappers
Création d’une instance à partir d’un type de base ou d’une chaîne :
int entier => Integer n
Integer n = new Integer(entier);
entier = n. intValue();
Integer(String s).intValue( )
Integer.valueOf(String s).intValue( )
String.valueOf(int i)
Récupération des valeurs min et max :
Integer.MIN_VALUE, Integer.MAX_VALUE, … 13
Les classes Wrappers
Les classes wrapper sont utilisées dans des situations où
des objets sont requis, comme pour les éléments d'une
collection :
List<Integer> a = new ArrayList<Integer> ();
methodRequiringListOfIntegers(a);
Attention : ne supporte pas d’opérateurs (+, -, …)
Elles sont dans le package java.lang
length : 21
capacity : 23
Exemple 2 :
s.insert(2,"hop");
System.out.println("s : "+s);
Résultat :
Bohopnjour tout le monde
Dr J. Khalfallah 2LM (ISITCom) – Programmation java 19
« String » vs « StringBuffer »
La classe String correspond aux chaînes de caractères
‒ Toute chaîne littérale telle que "Bonjour" est implantée
comme instance de cette classe
Les chaînes ont la propriété d'être constantes :
– Une fois initialisé un objet de ce type ne peut être modifié
La classe StringBuffer implante des chaînes de caractères
modifiables et de taille dynamique
‒ Automatiquement redimensionnée en fonction des besoins
Cette classe est en particulier utilisée pour implanter la
concaténation de chaînes (opérateur +)
23
La classe Vector
Classe située aussi dans le package java.util
Vector permet de réaliser des listes d’éléments
quelconques pourvu qu’ils héritent de la classe Object.
Les objets de la classe Vector représentent des tableaux
à taille variable, c.à.d. il n'y a pas de limite au nombre
d'objets qu'il peut contenir
constructeurs :
Vector() crée un vecteur vide
Vector(int nombre) crée un vecteur vide de capacité
précisée.
attributs :
elementCount nombre d'éléments du vecteur
Dr J. Khalfallah 2LM (ISITCom) – Programmation java 24
La classe Vector
isEmpty() retourne true si le vecteur est vide
size() retoune le nombre d'éléments du vecteur
addElement(Objet) ajoute un élément à la fin du vecteur
insertElementAt(Objet, int position) ajoute un élément à la
position spécifiée
contains(Objet) retourne true si l'Objet se trouve dans le
vecteur
ElementAt(int position) retourne l'élément à la position
spécifiée
indexOf(Objet) retourne la position de la 1ère occurence de
l'Objet dans le vecteur
removeElementAt(int position) supprime l'élément à la
position spécifiée
Dr J. Khalfallah 2LM (ISITCom) – Programmation java 25
La classe Vector
import java.util.* ;
Vector v = new Vector() ;
v.addElement(1);
v.addElement(2);
v.addElement(3);
System.out.print(v.toString()) ; // affichage du Vector
Résultat : [1,2,3]
v.insertElementAt(hop,2); // insertion en 3ème position
System.out.print(v.toString()) ; // affichage du Vector
Résultat : [1,2,hop,3]
v.setElementAt(truc,2); // changement d’un élément
System.out.print(v.toString()) ; // affichage du Vector
Résultat : [1,2,truc,3]
Dr J. Khalfallah 2LM (ISITCom) – Programmation java 26
La classe Vector
Parcours d ’un Vector :
for(int i = 0 ; i< v.size( ) ;i++) // affichage du Vector
System.out.println(v.elementAt(i)) ;
Autres méthodes utiles
int num ;
num = v.indexOf(2) ; // indice d’un élément
v.removeElement(2) ; // retrait d’un élément
System.out.println(v.lastElement( )) ;
Résultat:
Un petit peu de texte 10
Dr J. Khalfallah 2LM (ISITCom) – Programmation java 29
Exercice 2
30
Corrigé de l’Exercice 2
La classe Vecteur
31