Sobes.tech
Junior — Middle

Можете ли да објасните шта је хеш-код и зашто се користи?

sobes.tech АИ

Одговор од АИ

Hash kod je numerička vrednost fiksne veličine koja se računa na osnovu sadržaja objekta. Koristi se za brzo poređenje i pretraživanje objekata, na primer, u hash tabelama ili rečnicima.

U Flutteru (i Dart-u), metoda hashCode pomaže efikasnom čuvanju i pretraživanju objekata u kolekcijama kao što su Set ili Map. Ako su dva objekta jednaka (prema metodi ==), njihovi hash kodovi treba da se poklapaju.

Primer:

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;
}