Orodha ya maudhui:

Je, tunaweza kulinganisha ramani mbili katika Java?
Je, tunaweza kulinganisha ramani mbili katika Java?

Video: Je, tunaweza kulinganisha ramani mbili katika Java?

Video: Je, tunaweza kulinganisha ramani mbili katika Java?
Video: DEMU ALIWA NYUMA HADI KINYESI CHATOKA (ANGALIA VIDEO HADI MWISHO) 2024, Mei
Anonim

Kwa chaguo-msingi, HashMap . equals() njia kulinganisha hashmaps mbili kwa jozi za thamani-msingi. Ina maana zote mbili ramani ya hashmap hali lazima ziwe na jozi za thamani ya ufunguo sawa na zote lazima ziwe na ukubwa sawa. Mpangilio wa jozi za thamani-msingi unaweza kuwa tofauti na hufanya si kucheza katika nafasi kulinganisha.

Hivi, unalinganishaje maadili mawili kwenye ramani?

Njia sahihi ya kulinganisha ramani kwa usawa wa thamani ni:

  1. Angalia kuwa ramani ni za ukubwa sawa(!)
  2. Pata seti ya funguo kutoka kwenye ramani moja.
  3. Kwa kila ufunguo kutoka kwa seti uliyorejesha, angalia kuwa thamani iliyopatikana kutoka kwa kila ramani ya ufunguo huo ni sawa (ikiwa ufunguo haupo kwenye ramani moja, hiyo ni kutofaulu kabisa kwa usawa)

Vile vile, ninawezaje kulinganisha orodha mbili kwenye Java? Unaweza kulinganisha mbili safu orodha kwa kutumia equals() njia ya Orodha ya Array darasa, njia hii inakubali a orodha kitu kama kigezo, inalinganisha na kitu cha sasa, ikiwa mechi itarudi kweli na ikiwa sivyo inarudisha uwongo.

Kuhusiana na hili, unalinganishaje ramani mbili za hashi?

Kwa Linganisha Hashmaps katika java, haswa mbili njia zinatumika yaani hashCode() na equals(). Ikiwa hashCode ya ramani mbili ni sawa basi tunaweza kuendelea na equals() njia, kama hashCode of HashMaps mbili wanaweza kuwa sawa lakini si kweli kusema kwamba wao ni sawa pia.

Je, tunaweza kulinganisha ramani mbili katika C++?

The ramani ::key_comp() ni chaguo la kukokotoa katika STL in C++ ambayo inarudisha nakala ya kulinganisha kitu kinachotumiwa na chombo hicho kulinganisha funguo. Thamani ya kurudisha: Njia hii inarudisha kulinganisha kitu kinachotumiwa na chombo hicho kulinganisha funguo. // C++ mpango wa kuonyesha ramani ::key_comp().

Ilipendekeza: