JAVA-Les Collections Flashcards
Qu’est-ce-qu’une collection en JAVA ?
- Un objet qui permet de gérer des ensembles d’objets qui sont désignés sous le nom d’éléments.
- Les collections sont des conteneurs qui permettent de regrouper des objets en une seule entité.
Quelles sont les deux grandes familles de collections ?
- Collection
- Map
Définir List :
- Collection d’éléments ordonnés qui acceptent les doublons.
- La liste étant ordonnée, un élément peut être accédé à partir de son index.
- On peut y insérer des éléments null.
Définir Set :
Collection d’éléments non ordonnés par défaut qui n’acceptent pas les doublons.
Définir Map :
Collection sous la forme d’une association de paires clé/valeur.
Définir l’interface Collection :
- Définit des méthodes pour des objets qui gèrent des éléments d’une façon générale.
- Super interface de plusieurs interface du framework
- L’une des deux racines de l’arborescence des collections avec Map.
- Elle hérite de l’interface Iterable depuis Java 5.
Définir l’interface Iterator :
- Définit des méthodes pour des objets capables de parcourir les données d’une collection.
- Ajout de la fonctionnalité de suppression et la réduction des noms de méthodes par rapport à l’interface Enumération.
Citer trois méthodes de l’interface Iterator, permettant de parcourir et effectuer des opération sur une table en SQL (par exemple)
- next()
- hasNext()
- remove()
Définir la méthode next() :
Renvoyer le prochain élément dans la collection
Définir la méthode hasNext() :
Indiquer s’il reste au moins un élément à parcourir dans la collection
Définir la méthode remove() :
Permet de supprimer l’élément renvoyé par le dernier appel à la méthode next(). Il est ainsi
impossible d’appeler la méthode remove() sans un appel correspondant à next() : on ne peut pas appeler deux fois de suite la méthode remove().
Qu’est-ce-qu’un Vector ?
- Tableau dont la taille peut varier selon le nombre d’éléments qu’il contient.
- Il est possible de lui préciser une capacité initiale et une taille d’incrémentation en utilisant la surcharge correspondante du constructeur.
- Moins performant que la classe ArrayList car elle est thread-safe (asynchrone)
- Les éléments sont stockés dans l’ordre dans lequel ils sont ajoutés dans la collection.
- Un élément peut être ajouté ou supprimé à n’importe qu’elle position dans la collection.
Qu’est-ce-qu’une ArrayList ?
- Tableau d’objets dont la taille est dynamique : elle utilise un tableau dont la taille s’adapte automatiquement au nombre d’éléments de la collection.
- Cette adaptation nécessite l’instanciation d’un nouveau tableau et la copie des éléments dans ce nouveau tableau.
- Elle hérite de la classe AbstractList donc elle implémente l’interface List.
- Le fonctionnement de cette classe est similaire à celui de la classe Vector, à La différence qu’elle est multithread (toutes ses méthodes sont synchronisées).
Quelles sont les caractéristiques de la classe ArrayList ?
- N’est pas thread-safe
- Utilise un tableau pour stocker ses éléments : le premier élément de la collection possède l’index 0
- L’accès à un élément se fait grâce à son index
- Implémente toutes les méthodes de l’interface List
- Autorise l’ajout d’éléments null