Junior — Middle
Μπορείτε να εξηγήσετε την έννοια του HashMap και πώς λειτουργεί για την αποθήκευση δεδομένων κλειδιού-τιμής;
sobes.tech AI
Απάντηση από AI
HashMap είναι μια δομή δεδομένων που αποθηκεύει ζεύγη κλειδιού-τιμής και παρέχει γρήγορη πρόσβαση στις τιμές μέσω του κλειδιού.
Αρχή λειτουργίας:
- Το κλειδί περνάει από μια συνάρτηση κατακερματισμού που υπολογίζει τη δείκτη στον πίνακα (κάδο).
- Η τιμή αποθηκεύεται σε αυτόν τον κάδο μαζί με το κλειδί.
- Κατά την αναζήτηση με το κλειδί, ο υπολογισμός του κατακερματισμού γίνεται ξανά και, με βάση τον δείκτη στον πίνακα, βρίσκουμε το απαραίτητο ζεύγος.
Αν πολλά κλειδιά έχουν τον ίδιο κατακερματισμό (σύγκρουση), αποθηκεύονται ως λίστα ή δέντρο στον ίδιο κάδο.
Αυτό επιτρέπει την εκτέλεση λειτουργιών εισαγωγής, αναζήτησης και διαγραφής περίπου σε σταθερό χρόνο (O(1)) κατά μέσο όρο.
Παράδειγμα σε Java:
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 3);
map.put("banana", 5);
int count = map.get("apple"); // επιστρέφει 3
Έτσι, το HashMap είναι χρήσιμο για γρήγορη πρόσβαση σε δεδομένα μέσω μοναδικού κλειδιού.