0% ont trouvé ce document utile (0 vote)
4 vues4 pages

Comparaison des collections Java

Le document compare trois collections Java : ArrayList, HashSet et HashMap. ArrayList est ordonnée et permet les doublons, HashSet est non ordonnée et n'autorise pas les doublons, tandis que HashMap stocke des paires clé/valeur avec des clés uniques. Chacune a des caractéristiques et des cas d'utilisation spécifiques, comme l'importance de l'ordre ou la nécessité d'unicité.

Transféré par

hasankhalil564
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues4 pages

Comparaison des collections Java

Le document compare trois collections Java : ArrayList, HashSet et HashMap. ArrayList est ordonnée et permet les doublons, HashSet est non ordonnée et n'autorise pas les doublons, tandis que HashMap stocke des paires clé/valeur avec des clés uniques. Chacune a des caractéristiques et des cas d'utilisation spécifiques, comme l'importance de l'ordre ou la nécessité d'unicité.

Transféré par

hasankhalil564
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ArrayList vs HashSet vs HashMap

Ces trois collections en Java sont très utilisées, mais elles ont des caractéristiques bien distinctes.
Voici un récapitulatif complet avec des exemples pratiques.

1️ ArrayList :

ArrayList est une collection de type List qui permet de stocker des éléments ordonnés. Elle autorise
les doublons et les éléments sont accessibles par un index.

Caractéristiques :

• Ordonnée (les éléments restent dans l'ordre d'insertion)

• Accepte les doublons

• Accès rapide par index (get(index))

• Insertion lente au milieu (doit décaler les éléments)

Quand utiliser ?

• Lorsque l'ordre d'insertion est important

• Lorsque l'on a besoin d'accéder aux éléments rapidement par un index

• Lorsque l'on veut stocker des doublons

Exemple :

import [Link];

public class Main {

public static void main(String[] args) {

// Création d'une ArrayList

ArrayList<String> liste = new ArrayList<>();

// Ajout d'éléments

[Link]("Java");

[Link]("Python");

[Link]("C++");

[Link]("Java"); // Les doublons sont autorisés

// Afficher la liste

[Link]("Contenu de l'ArrayList : " + liste);

// Accès par index


[Link]("Élément à l'index 1 : " + [Link](1)); // Python

// Suppression d'un élément

[Link]("Java"); // Supprime la première occurrence de "Java"

[Link]("Après suppression : " + liste);

2️ HashSet :

HashSet est une collection de type Set qui stocke les éléments dans un ordre non déterminé et
n'autorise pas les doublons. Il utilise un HashMap en interne pour le stockage.

Caractéristiques :

• Non ordonnée (l'ordre d'insertion n'est pas conservé)

• Ne permet pas les doublons

• Accès rapide grâce au hachage (Hashing)

• Insertion et suppression rapides

Quand utiliser ?

• Lorsque l'ordre n'a pas d'importance

• Lorsque les doublons ne sont pas autorisés

• Lorsque l'on cherche à optimiser la recherche et la suppression

Exemple :

import [Link];

public class Main {

public static void main(String[] args) {

// Création d'un HashSet

HashSet<String> ensemble = new HashSet<>();

// Ajout d'éléments

[Link]("Java");

[Link]("Python");

[Link]("C++");

[Link]("Java"); // Les doublons sont ignorés

// Afficher le HashSet

[Link]("Contenu du HashSet : " + ensemble);


// Vérification de l'existence d'un élément

if ([Link]("Python")) {

[Link]("Python est présent dans le HashSet.");

// Suppression d'un élément

[Link]("C++");

[Link]("Après suppression : " + ensemble);

3️ HashMap :

HashMap est une collection de type Map qui stocke les données sous forme de paires clé/valeur. Les
clés doivent être uniques, mais les valeurs peuvent se répéter.

Caractéristiques :

• Pas d'ordre garanti (l'ordre d'insertion n'est pas conservé)

• Les clés sont uniques

• Les valeurs peuvent être dupliquées

• Accès, insertion, et suppression très rapides grâce au hachage (Hashing)

Quand utiliser ?

• Lorsque l'on a besoin de lier une clé à une valeur (exemple : un ID à un nom)

• Pour des recherches rapides par clé

• Pour stocker des configurations ou des paramètres

Exemple :

import [Link];

public class Main {

public static void main(String[] args) {

// Création d'un HashMap

HashMap<Integer, String> map = new HashMap<>();

// Ajout d'éléments

[Link](1, "Java");

[Link](2, "Python");

[Link](3, "C++");
[Link](2, "JavaScript"); // Remplace "Python" à la clé 2

// Afficher le HashMap

[Link]("Contenu du HashMap : " + map);

// Accéder à une valeur par sa clé

[Link]("Valeur associée à la clé 2 : " + [Link](2)); // JavaScript

// Supprimer un élément par clé

[Link](3);

[Link]("Après suppression : " + map);

Comparaison :

Critère ArrayList HashSet HashMap

Ordre Ordonnée (index) Non ordonnée Non ordonnée (selon le hachage)

Doublons Autorisés Interdits Clés interdites, valeurs autorisées

Accès Par index Par recherche (contains()) Par clé (get(key))

Insertion Rapide (à la fin) Très rapide Très rapide

Suppression Lente si au milieu Rapide Rapide

Utilisation Liste ordonnée Ensemble unique Association clé/valeur

Quand choisir l'un ou l'autre ?

• ArrayList : lorsque l'ordre d'insertion est important et que les doublons sont nécessaires.

• HashSet : lorsque l'unicité est importante et que l'ordre n'a pas d'importance.

• HashMap : lorsque tu veux associer une clé à une valeur pour un accès rapide.

Vous aimerez peut-être aussi