Les classes de collection en Java
Les classes de collection en Java
-
Objectifs
- L’objectif de ce tutoriel est de fournir une compréhension complète et pratique des classes de collection en Java. Ce tutoriel s’adresse aux développeurs Java de niveau intermédiaire souhaitant approfondir leurs connaissances et compétences dans l’utilisation des collections pour la gestion de groupes d’objets de manière efficace et flexible. À la fin de ce tutoriel, vous serez capable de :
- Comprendre les Bases des Collections en Java.
- Utiliser les Différentes Interfaces de Collection.
- Implémenter des Collections Concrètes.
-
Introduction :
- Les classes de collection en Java font partie du framework des collections, introduit dans Java 2 (JDK 1.2), et permettent de gérer des groupes d’objets de manière efficace et flexible. Voici un aperçu des principales interfaces et classes de collections en Java :
- Interfaces Principales du Framework des Collections
- Collection : La racine de la hiérarchie des collections.
- List : Une collection ordonnée qui permet les éléments en double.
- Set : Une collection qui ne permet pas les éléments en double.
- Queue : Une collection utilisée pour tenir les éléments avant traitement.
- Map : Une collection d’associations clé-valeur, où les clés sont uniques.
- Classes Principales de Collection
- List
- ArrayList
- LinkedList
- Vector
- Stack
- Set
- HashSet
- LinkedHashSet
- TreeSet
-
La classe ArrayList
-
Introduction
- La classe ArrayList est une implémentation de l’interface List en Java. C’est une classe de collection qui permet de stocker un ensemble d’objets dans un ordre séquentiel.
- Les éléments d’un ArrayList sont indexés et peuvent être facilement ajoutés, supprimés ou modifiés. L’implémentation de ArrayList est basée sur un tableau de taille variable, ce qui signifie que la taille de l’ArrayList peut être augmentée ou réduite dynamiquement en fonction des besoins de l’application.
- ArrayList implémente donc toutes les méthodes abstraites de List et les rend accessibles. Parmi ces méthodes figurent donc add(E element), get(int index), set(int index, E element), remove(int index), size(), etc.
-
L’utilisation de ArrayList
- Voici un exemple d’utilisation de ArrayList :
- Dans cet exemple, nous créons une collection de type List contenant des éléments de type String, en instanciant ArrayList. Puis nous utilisons la méthode
add()
pour ajouter 3 éléments. En dernier, nous ajoutons la chaîne « Ferrari » à l’index 0, donc en première position. Tous les éléments du tableau sont donc décalés de 1. Puis nous affichons l’élément ayant pour index 2 avec la méthodeget()
. Nous obtenons alors « AUDI ». -
La classe HashSet
-
Introduction
- La classe HashSet est une implémentation de l’interface Set en Java. Elle est utilisée pour stocker un ensemble d’éléments uniques, sans ordre particulier. Les éléments stockés dans un HashSet doivent être uniques, car les doublons ne sont pas autorisés. Elle implémente donc les méthodes de l’interface Set parmi lesquelles figurent notamment add(E element), remove(Object o), contains(Object o), size() et iterator().
-
L’utilisation de HashSet
- Voici un exemple d’utilisation de HashSet :
- Cette fois-ci, nous créons une collection de type Set contenant des éléments de type Integer, en instanciant HashSet. Puis nous utilisons la méthode add() pour ajouter 3 entiers. Enfin, nous appelons la méthode contains() pour vérifier si la collection contient bien 189. Comme c’est le cas, monEnsemble.contains(189) renvoie true.
-
La classe HashMap
-
Introduction
- La classe HashMap est une implémentation de l’interface Map en Java. Elle est utilisée pour stocker des paires clé-valeur, où chaque clé est associée à une valeur. Les clés stockées dans une HashMap doivent être uniques, car les doublons ne sont pas autorisés. Les valeurs stockées peuvent être dupliquées. HashMap implémente donc les méthodes de Map parmi lesquelles figurent, entre autres :
put(K key, V value)
,get(Object key)
,containsKey(Object key)
remove(Object key)
etsize()
. -
L’utilisation de Map
- Voici un exemple d’utilisation de HashMap :
- Cette fois-ci, nous créons un Map dont les clés seront de type String et les valeurs de type Integer. Nous ajoutons nos paires clés/valeurs avec la méthode put(). Puis nous retirons l’élément ayant pour clé « FERRARI » avec la méthode remove(). Ensuite, nous appelons la méthode get() afin de récupérer la valeur de l’élément ayant pour clé « AUDI », puis « FERRARI ». L’élément ayant pour clé « FERRARI » ayant été retiré, myMap.get(« FERRARI ») renvoie null.
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List maListe = new ArrayList<>();
maListe.add("BWM");
maListe.add("AUDI");
maListe.add(0, "FERRARI");
System.out.println(maListe.get(2)); //affiche "AUDI"
}
}
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Set monEnsemble = new HashSet<>();
monEnsemble.add(128);
monEnsemble.add(189);
monEnsemble.add(29);
System.out.println(monEnsemble.contains(189)); //affiche true
}
}
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map myMap = new HashMap();
myMap.put("AUDI", 250);
myMap.put("BMW", 240);
myMap.put("FERRARI", 200);
myMap.remove("FERRARI");
System.out.println(myMap.get("AUDI")); //affiche 250
System.out.println(myMap.get("FERRARI")); //affiche null
}
}