Sobes.tech
Junior — Middle

Μπορείτε να εξηγήσετε την έννοια του HashMap και πώς λειτουργεί για την αποθήκευση δεδομένων κλειδιού-τιμής;

sobes.tech AI

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

HashMap είναι μια δομή δεδομένων που αποθηκεύει ζεύγη κλειδιού-τιμής και παρέχει γρήγορη πρόσβαση στις τιμές μέσω του κλειδιού.

Αρχή λειτουργίας:

  1. Το κλειδί περνάει από μια συνάρτηση κατακερματισμού που υπολογίζει τη δείκτη στον πίνακα (κάδο).
  2. Η τιμή αποθηκεύεται σε αυτόν τον κάδο μαζί με το κλειδί.
  3. Κατά την αναζήτηση με το κλειδί, ο υπολογισμός του κατακερματισμού γίνεται ξανά και, με βάση τον δείκτη στον πίνακα, βρίσκουμε το απαραίτητο ζεύγος.

Αν πολλά κλειδιά έχουν τον ίδιο κατακερματισμό (σύγκρουση), αποθηκεύονται ως λίστα ή δέντρο στον ίδιο κάδο.

Αυτό επιτρέπει την εκτέλεση λειτουργιών εισαγωγής, αναζήτησης και διαγραφής περίπου σε σταθερό χρόνο (O(1)) κατά μέσο όρο.

Παράδειγμα σε Java:

HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 3);
map.put("banana", 5);
int count = map.get("apple"); // επιστρέφει 3

Έτσι, το HashMap είναι χρήσιμο για γρήγορη πρόσβαση σε δεδομένα μέσω μοναδικού κλειδιού.