Sobes.tech
Junior — Middle

Mohol by ste vysvetliť, čo je hash kód a na čo sa používa?

sobes.tech AI

Odpoveď od AI

Hash kód je pevne stanovená číselná hodnota, ktorá sa vypočíta na základe obsahu objektu. Používa sa na rýchle porovnanie a vyhľadávanie objektov, napríklad v hash tabuľkách alebo slovníkoch.

V Flutteri (a Dart) pomáha metóda hashCode efektívne ukladať a hľadať objekty v kolekciách, ako sú Set alebo Map. Ak sú dva objekty rovnaké (podľa metódy ==), ich hash kódy by mali zodpovedať.

Príklad:

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