HashCode-ի հավասարությունը չի նշանակում, որ հավասարները վերադարձնում են true: Պայմանագիրն այն է, որ երկու օբյեկտները, որոնք հավասար են, պետք է ունենան նույն հեշԿոդ: Բայց այն ՉԻ նշում, որ նույն HashCode-ով երկու օբյեկտները պետք է հավասար լինեն:
Հավասար մեթոդն օգտագործում է hashCode?
Երբ մենք խոսում ենք հավասարների մեթոդի մասին, հիմնական նպատակն է համեմատել երկու առարկաների վիճակը կամ առարկայի պարունակությունը:
Հավասարը օգտագործում է hashCode C?
Դա այն պատճառով է, որ շրջանակը պահանջում է, որ երկու նույն օբյեկտները պետք է ունենան նույն հեշկոդ: Եթե դուք անտեսում եք հավասարների մեթոդը՝ երկու օբյեկտների հատուկ համեմատություն կատարելու համար, և այդ երկու օբյեկտները համարվում են նույնը մեթոդով, ապա երկու օբյեկտների հեշ կոդը նույնպես պետք է լինի նույնը։
Ինչի՞ համար է օգտագործվում hashCode-ը և հավասարները:
Հեշկոդ մեթոդը վերադարձնում է միևնույն հեշ արժեքը, երբ կանչվում է երկու օբյեկտ, որոնք հավասար են ըստ հավասարների մեթոդի: Եվ եթե օբյեկտները անհավասար են, այն սովորաբար վերադարձնում է տարբեր հեշ արժեքներ:
Արդյո՞ք HashMap-ն օգտագործում է hashCode, թե՞ հավասար:
Դուք կարող եք վերացնել սա ձեր դասարանում՝ ապահովելու ձեր սեփական իրականացումը: HashMap-ն օգտագործում է հավասար ՝ համեմատելու բանալին՝ արդյոք դրանք հավասար են, թե ոչ: Եթե հավասարների մեթոդը վերադարձնում է true, ապա դրանք հավասար են, այլապես հավասար չեն: Մեկ դույլը կարող է ունենալ մեկից ավելի հանգույցներ, դա կախված է hashCode մեթոդից: