Structures de données du Collections Framework

Types de données et exceptions en Java

Jim White

Java Instructor

Qu'est-ce qu'un framework

  • Un framework est un ensemble de types réutilisables offrant des fonctions génériques
    • Exemples de types : classes et interfaces
    • Améliore la qualité d'une application
    • Évite de tout créer à partir de zéro
  • Les frameworks sont livrés dans un ou plusieurs paquets en Java
  • Les frameworks viennent avec des lignes directrices et des règles d'utilisation

Les frameworks fournissent un ensemble de code prêt à l'emploi offrant des fonctions génériques

1 Photo par Ashkan Forouzani sur Unsplash
Types de données et exceptions en Java

Types Java

Deux catégories de types en Java :

  • Types primitifs
    • byte, short, int, long, float, double, char, boolean
  • Types référence
    • Classes
    • Interfaces
    • Énumérations
    • Tableaux
    • ...
Types de données et exceptions en Java

Le Collections Framework

  • Collections Framework : ensemble intégré de types génériques pour les structures de données en Java
    • Un paquet de types pour stocker et manipuler un groupe d'objets
  • Défini dans le paquet java.util
    • Il faut importer pour utiliser les types du framework
Types de données et exceptions en Java

Et les tableaux ?

  • Les tableaux Java peuvent contenir un groupe d'objets ou de primitifs
    • Le Collections Framework offre un ensemble alternatif de structures
  • Les deux ont des avantages et des limites
Tableaux Collections
Taille fixe Taille dynamique (grandit et rétrécit)
Stocke des primitifs ou des objets Stocke seulement des objets
Homogènes – éléments de même type Hétérogènes – objets de types différents
Notation spéciale [] pour l'accès Méthodes pour accéder aux objets
Syntaxe spéciale d'initialisation {} Utilise new (pas de syntaxe spéciale)
Types de données et exceptions en Java

Types du Collections Framework

  • Le Collections Framework se divise en deux types de base : Collection et Map
    • Représentés par deux interfaces : java.util.Collection et java.util.Map
    • Chacune a plusieurs classes d'implémentation
  • import java.util.*; pour utiliser n'importe quel type du Collections Framework

Le Collections Framework comporte deux types de base : Collection et Map

Types de données et exceptions en Java

Collection

  • Collection définit plusieurs regroupements d'objets
    • Définis par des interfaces additionnelles
  • Groupe ordonné d'objets : List
  • Groupe non ordonné d'objets : Set
  • Premier entré, premier sorti : Queue
    • Fonctionne comme une file à la banque ou au guichet
  • Méthodes .add(Object) et .remove(Object) pour modifier toute Collection

Collection inclut List, Set et Map

Types de données et exceptions en Java

Map

  • Les structures Map fonctionnent comme un bottin téléphonique ou un dictionnaire
    • Objets « key » -> vers objets « value »
    • Dans un bottin, un nom -> un numéro
    • Dans un dictionnaire, un mot -> sa définition
  • Utilisez la clé pour modifier une Map
    • .put(Object key, Object value) pour ajouter
    • .remove(Object key) pour enlever
  • Plusieurs types de Map, comme HashMap

La structure Map fonctionne comme un bottin ou un dictionnaire

Types de données et exceptions en Java

Génériques

  • Collections et Maps sont « paramétrées »
    • Les génériques Java précisent les objets d'une Collection ou d'une Map
    • Syntaxe générique : <Class> avec un type paramétré.
      • < > est appelé l'opérateur diamant
ArrayList<String> list = new ArrayList<String>();  // Construction avec génériques
Types de données et exceptions en Java

Génériques et sûreté de type

  • Les génériques améliorent la sûreté de type
    • Restreignent les objets permis dans le contenu des Collection et Map
ArrayList<String> list = new ArrayList<String>();
list.add("hello");  // Ajouter une String est correct
list.add(new Integer(5));  // Tenter d'ajouter un Integer cause une erreur de compilation
Types de données et exceptions en Java

Sans génériques

ArrayList list2 = new ArrayList();  // Légal mais non spécifique

list2.add("hello");                 // N'importe quel type d'objet peut maintenant être ajouté
list2.add(new Integer(5));
Types de données et exceptions en Java

Déclaration et affectation de variables

  • La déclaration et l'affectation peuvent se faire séparément
ArrayList<String> list = new ArrayList<String>(); // Déclaration et affectation sur une ligne

ArrayList<String> list2;    // Déclaration de la variable…
list2 = new ArrayList<String>();  // …et affectation en 2 instructions
Types de données et exceptions en Java

Passons à la pratique !

Types de données et exceptions en Java

Preparing Video For Download...