Sobes.tech
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;
}