Sobes.tech
Junior

À quoi servent les structures de données map et set?

sobes.tech IA

Réponse de l'IA

Map et Set sont des collections pour stocker des données.

  • Map : Stocke des paires clé-valeur. Les clés peuvent être de n'importe quel type. Permet de rechercher, ajouter et supprimer rapidement des éléments par clé. Maintient l'ordre d'insertion des éléments.

    // Création d'un Map
    const myMap = new Map();
    
    // Ajout d'éléments
    myMap.set('user1', { nom: 'John', âge: 30 });
    myMap.set(1, 'clé numérique');
    
    // Récupérer une valeur par clé
    const userData = myMap.get('user1'); // { nom: 'John', âge: 30 }
    
    // Vérifier si une clé existe
    const hasKey = myMap.has(1); // true
    
    // Supprimer un élément par clé
    myMap.delete('user1');
    
    // Taille du Map
    const size = myMap.size; // 1
    
    // Itérer sur le Map
    for (const [key, value] of myMap) {
      console.log(`${key}: ${value}`);
    }
    
  • Set : Stocke des valeurs uniques de n'importe quel type. Permet de vérifier rapidement si un élément est présent, ainsi que d'ajouter et supprimer des éléments. Maintient l'ordre d'insertion.

    // Création d'un Set
    const mySet = new Set();
    
    // Ajout d'éléments
    mySet.add(1);
    mySet.add('bonjour');
    mySet.add(1); // Doublon, ne sera pas ajouté
    
    // Vérifier si une valeur est présente
    const hasValue = mySet.has('bonjour'); // true
    
    // Supprimer un élément
    mySet.delete(1);
    
    // Taille du Set
    const size = mySet.size; // 1
    
    // Itérer sur le Set
    for (const value of mySet) {
      console.log(value);
    }
    

L'utilisation de Map est préférée lorsque vous souhaitez stocker des données associées à des identifiants uniques (clés) et effectuer des recherches rapides. Set est utilisé pour stocker une collection de valeurs uniques et vérifier leur présence.