Vous êtes sur la page 1sur 13

06/11/2019

JAVA : NOTIONS
AVANCÉES
Collections, Exceptions

Pr. Sarra ROUBI


LP Génie Informatique : S3

COLLECTIONS EN
JAVA
Syntaxe, usage, types

1
06/11/2019

Collection en Java : concept


■ Dans les programmes Java, il est parfois utile de définir des
classes paramétrées par un type de données (ou une classe).

■ Ceci parfois dans le cas où on traite des donnés élémentaires


liées entre elles (départements d’une entreprise, employés d’un
département, etc)

■ Pour ceci, , Java offre les collections

Collection en Java : concept


■ Une collection est un objet qui permet d’organiser, manipuler et
gérer un groupe de données multiples

■ Il s’agit d’interfaces de collection définit en langage Java

■ La racine de la hiérarchie est l’interface Collection ou Map

2
06/11/2019

Collection en Java : concept

Classes concrètes

Table de Tableau
Arbre binaire Liste chaînée
hachage variable

Set<E> HashSet<E> TreeSet<E>

LinkedList
Interfaces List<E> ArrayList<E>
<E>
TreeMap
Map<E> HashMap<E>
<K,V>

Collection en Java : List


■ Les objets appartenant à la catégorie List sont, pour simplifier, des
tableaux extensibles à volonté.

■ On y trouve les objets Vector, LinkedList et ArrayList.

3
06/11/2019

Collection en Java : List


■ LinkedList
– Une liste chaînée (LinkedList en anglais) est une liste dont chaque
élément est lié aux éléments adjacents par une référence à ces
derniers.

Collection en Java : List


■ LinkedList

4
06/11/2019

Collection en Java : List


■ ArrayList
– un objet bien pratique. ArrayList est un de ces objets qui n'ont pas de taille
limite et qui, en plus, acceptent n'importe quel type de données, y
compris null !.
■ Il existe tout un panel de méthodes fournies avec cet objet :
– add() permet d'ajouter un élément ;
– get(int index) retourne l'élément à l'indice demandé ;
– remove(int index) efface l'entrée à l'indice demandé ;
– isEmpty() renvoie « vrai » si l'objet est vide ;
– removeAll() efface tout le contenu de l'objet ;
– contains(Object element) retourne « vrai » si l'élément passé en paramètre est dans
l'ArrayList.

Collection en Java : Map


■ Une collection de type Map est une collection qui fonctionne avec
un couple clé - valeur.

■ On y trouve les objets Hashtable, HashMap, TreeMap …

■ La clé, qui sert à identifier une entrée dans la collection, est


unique. La valeur, au contraire, peut être associée à plusieurs clés.

5
06/11/2019

Collection en Java : Map


■ Ces objets ont comme point faible majeur leur rapport conflictuel
avec la taille des données à stocker.

■ En effet, plus vous aurez de valeurs à mettre dans un objet Map,


plus celles-ci seront lentes et lourdes : logique, puisque par
rapport aux autres collections, il stocke une donnée
supplémentaire par enregistrement..

LES EXÉPTIONS EN
JAVA
Principe, Syntaxe, usage

6
06/11/2019

Les exceptions en Java : Principe


■ Lorsqu’on écrit un programme, plusieurs erreurs peuvent survenir.

■ Les erreurs syntaxiques sont détectées à la compilation. Par


contre les erreurs sémantiques surviennent uniquement à
l'exécution.

■ Il faut les traiter par un processus à part.

Les exceptions en Java : Principe

■ Une exception est un objet Java

■ A la réception d'une exception, le code est arrêté, et Java


recherche en local puis dans la liste des appelants la façon de
traiter cette exception

■ Il existe plusieurs types d’exception :

7
06/11/2019

Les exceptions en Java : Principe


diviser un nombre par 0 ArithmeticException
envoyer un message sur une
NullPointerException
référence null

accéder à des cases d’un ArrayIndexOutOfBoundsException


tableau en dehors  des indices,

Comparer  des objets de


ClassCastException
classes différentes

etc. etc.

Les exceptions en Java : Principe

■ D'après le message affiché dans la console, le nom de l'exception


qui a été déclenchée est ArithmeticException.

8
06/11/2019

Les exceptions en Java : Mécanisme

■ Les mots clés try - catch permettent d'intercepter et de traiter une


exception

■ Le mot clé throws permet de lister les exceptions à intercepter lors


de l'appel d'une méthode

■ Le mot clé throw permet de lever une exception

■ PS : L'utilisateur peut créer ses propres exceptions

Les exceptions en Java : Mécanisme

■ Une exception levée et qui n’est pas attrapée provoque la fin du


programme, en indiquant à l ’utilisateur la pile de méthodes
traversées par l ’exception:
– pas de clause try...catch
– une méthode susceptible de lancer une exception sans l ’attraper
doit l’indiquer dans son entête : mot clé throws

9
06/11/2019

Les exceptions en Java : Mécanisme

■ Le couple try - catch permet de surveiller une portion de code,


d'intercepter et de traiter les exceptions en Java.
■ Le mot clé try délimite la portion de code à surveiller
■ Le mot clé catch permet de capturer et de traiter une exception
■ Dans un try peuvent survenir plusieurs exceptions. Chacune d'elle
est traitée par un catch approprié

Les exceptions en Java : Mécanisme


Principe Syntaxe
try {
//  code  pouvant  lever  une
//exception
■ Syntaxe complète d'une …
gestion d'exception }  catch  ( MyExceptiontype e)  {
//  code  a  exécuter  si
//MyExceptiontype est  
levée

}  catch  ( Exception  e)  {
System.out.println(e.toString())

}  finally {
//  code  toujours  exécuté
}

10
06/11/2019

Les exceptions en Java : Mécanisme

Les exceptions en Java : Mécanisme


■ Nous initialisons deux variables de type int, l'une à 0 et l'autre à un
nombre quelconque.
■ Nous isolons le code susceptible de lever une exception
: System.out.println(j/i);.
■ Une exception de type ArithmeticException est levée lorsque le
programme atteint cette ligne.
■ Notre bloc catch contient justement un objet de
type ArithmeticException en paramètre. Nous l'avons appelé e.
■ L'exception étant capturée, l'instruction du bloc catch s'exécute !
■ Notre message d'erreur personnalisé s'affiche alors à l'écran

11
06/11/2019

Les exceptions en Java : Mécanisme


■ Le catch : Il permet de connaître le type d'exception qui doit être
capturé.

■ Et l'objet — ici, e — peut servir à préciser notre message grâce à


l'appel de la méthode getMessage() :

Les exceptions en Java : Personnalisation


■ Reprenons l’exemple : Ville / Capitale
■ La procédure pour faire ce tour de force est un peu particulière. En
effet, nous devons :
– créer une classe héritant de la classe Exception :
NombreHabitantException (par convention, les exceptions ont un
nom se terminant par « Exception ») ;
– renvoyer l'exception levée à notre
classe NombreHabitantException ;
– ensuite, gérer celle-ci dans notre
classe NombreHabitantException.

12
06/11/2019

Les exceptions en Java : Personnalisation

13

Vous aimerez peut-être aussi