Sobes.tech
Junior

Για ποιο λόγο χρησιμοποιούνται οι δομές δεδομένων map και set;

sobes.tech AI

Απάντηση από AI

Το Map και το Set είναι συλλογές για την αποθήκευση δεδομένων.

  • Map: Αποθηκεύει ζεύγη κλειδιού-τιμής. Τα κλειδιά μπορούν να είναι οποιουδήποτε τύπου. Επιτρέπει την ταχεία εύρεση, προσθήκη και διαγραφή στοιχείων με βάση το κλειδί. Διατηρεί τη σειρά εισαγωγής των στοιχείων.

    // Δημιουργία Map
    const myMap = new Map();
    
    // Προσθήκη στοιχείων
    myMap.set('user1', { όνομα: 'John', ηλικία: 30 });
    myMap.set(1, 'αριθμητικό κλειδί');
    
    // Λήψη τιμής με βάση το κλειδί
    const userData = myMap.get('user1'); // { όνομα: 'John', ηλικία: 30 }
    
    // Έλεγχος αν το κλειδί υπάρχει
    const hasKey = myMap.has(1); // true
    
    // Διαγραφή στοιχείου με βάση το κλειδί
    myMap.delete('user1');
    
    // Μέγεθος του Map
    const size = myMap.size; // 1
    
    // Επανάληψη στο Map
    for (const [key, value] of myMap) {
      console.log(`${key}: ${value}`);
    }
    
  • Set: Αποθηκεύει μοναδικές τιμές οποιουδήποτε τύπου. Επιτρέπει τον γρήγορο έλεγχο αν ένα στοιχείο υπάρχει, καθώς και την προσθήκη και διαγραφή στοιχείων. Διατηρεί τη σειρά εισαγωγής.

    // Δημιουργία Set
    const mySet = new Set();
    
    // Προσθήκη στοιχείων
    mySet.add(1);
    mySet.add('γεια');
    mySet.add(1); // Διπλότυπο, δεν θα προστεθεί
    
    // Έλεγχος αν ένα στοιχείο υπάρχει
    const hasValue = mySet.has('γεια'); // true
    
    // Διαγραφή στοιχείου
    mySet.delete(1);
    
    // Μέγεθος του Set
    const size = mySet.size; // 1
    
    // Επανάληψη στο Set
    for (const value of mySet) {
      console.log(value);
    }
    

Η χρήση του Map προτιμάται όταν χρειάζεται να αποθηκεύσετε δεδομένα που σχετίζονται με μοναδικούς αναγνωριστές (κλειδιά) και να πραγματοποιείτε γρήγορες αναζητήσεις. Το Set χρησιμοποιείται για την αποθήκευση μιας συλλογής μοναδικών τιμών και τον έλεγχο της ύπαρξής τους.