Junior — Middle
Μπορείτε να εξηγήσετε τι είναι ένας κωδικός κατακερματισμού και για ποιο λόγο χρησιμοποιείται;
sobes.tech AI
Απάντηση από AI
Ο κωδικός κατακερματισμού είναι μια αριθμητική τιμή σταθερού μεγέθους που υπολογίζεται βάσει του περιεχομένου του αντικειμένου. Χρησιμοποιείται για γρήγορη σύγκριση και αναζήτηση αντικειμένων, π.χ., σε πίνακες κατακερματισμού ή λεξικά.
Στο Flutter (και Dart), η μέθοδος hashCode βοηθά στην αποτελεσματική αποθήκευση και αναζήτηση αντικειμένων σε συλλογές όπως Set ή Map. Αν δύο αντικείμενα είναι ίσα (σύμφωνα με τη μέθοδο ==), οι κωδικοί κατακερματισμού τους πρέπει να ταιριάζουν.
Παράδειγμα:
class Person {
final String name;
final int age;
Person(this.name, this.age);
@override
bool operator ==(Object other) =>
identical(this, other) ||
other is Person && other.name == name && other.age == age;
@override
int get hashCode => name.hashCode ^ age.hashCode;
}