Բովանդակություն:

Կարո՞ղ ենք համեմատել երկու քարտեզ Java-ում:
Կարո՞ղ ենք համեմատել երկու քարտեզ Java-ում:

Video: Կարո՞ղ ենք համեմատել երկու քարտեզ Java-ում:

Video: Կարո՞ղ ենք համեմատել երկու քարտեզ Java-ում:
Video: Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"] 2024, Մայիս
Anonim

Ըստ նախնականի, HashMap . equals() մեթոդը համեմատում է երկու հաշմապ բանալի-արժեք զույգերով: Նշանակում է երկուսն էլ հաշքապ Օրինակները պետք է ունենան ճիշտ նույն բանալի-արժեք զույգերը և երկուսն էլ պետք է լինեն նույն չափի: Բանալի-արժեք զույգերի հերթականությունը կարող է տարբեր լինել և անում է դեր չի խաղում համեմատություն.

Այսպիսով, ինչպե՞ս եք համեմատում երկու արժեքները քարտեզի վրա:

Արժեք-հավասարության համար քարտեզները համեմատելու ճիշտ ձևը հետևյալն է

  1. Ստուգեք, որ քարտեզները նույն չափի են (!)
  2. Ստացեք ստեղների հավաքածու մեկ քարտեզից:
  3. Ձեր առբերած հավաքածուից յուրաքանչյուր բանալիի համար ստուգեք, որ այդ բանալու համար յուրաքանչյուր քարտեզից ստացված արժեքը նույնն է (եթե բանալին բացակայում է մեկ քարտեզից, դա հավասարության ամբողջական ձախողում է):

Նմանապես, ինչպես կարող եմ համեմատել երկու ցուցակները Java-ում: Դու կարող ես համեմատել երկու զանգված ցուցակները օգտագործելով հավասար() մեթոդը ArrayList դաս, այս մեթոդը ընդունում է ա ցուցակը օբյեկտը որպես պարամետր, այն համեմատում է ընթացիկ օբյեկտի հետ, համընկնման դեպքում վերադարձնում է true, իսկ եթե ոչ՝ false:

Ինչ վերաբերում է դրան, ինչպե՞ս եք համեմատում երկու հեշ քարտեզները:

Դեպի Համեմատեք Hashmaps java-ում, հիմնականում երկու օգտագործվում են այնպիսի մեթոդներ, ինչպիսիք են hashCode() և equals(): Եթե hashCode է երկու քարտեզ հավասար են, ապա մենք կարող ենք անցնել equals() մեթոդին՝ որպես hashCode of երկու HashMaps կարող է նույնը լինել, բայց ասել, որ նրանք նույնպես հավասար են, ճիշտ չէ:

Կարո՞ղ ենք համեմատել երկու քարտեզ C++-ով:

Այն քարտեզ ::key_comp() ֆունկցիան է STL-ում C++ որը վերադարձնում է պատճենը համեմատություն կոնտեյներով օգտագործվող առարկան, որը համեմատել բանալիներ. Վերադարձի արժեքը. Այս մեթոդը վերադարձնում է համեմատություն կոնտեյներով օգտագործվող առարկան, որը համեմատել բանալիներ. // C++ ցուցադրելու ծրագիր քարտեզ ::key_comp().

Խորհուրդ ենք տալիս: