Engs нь hashcode ашигладаг уу?

Агуулгын хүснэгт:

Engs нь hashcode ашигладаг уу?
Engs нь hashcode ашигладаг уу?
Anonim

Хэшкодын тэгш байдал нь тэнцүү нь үнэнийг буцаана гэсэн үг биш юм. Гэрээ нь тэнцүү хоёр объект нь ижил hashCode байх ёстой. Гэхдээ ижил HashCode-тэй хоёр объект тэнцүү байх ёстой.

Equs арга нь hashCode ашигладаг уу?

Бид тэнцүү аргын тухай ярихдаа гол зорилго нь хоёр объектын төлөв байдал эсвэл объектын агуулгыг харьцуулах.

Тэнцүү нь hashCode C ашигладаг уу?

Учир нь хүрээ нь ижил хоёр объект ижил хэшкодтой байх шаардлагатай. Хэрэв та хоёр объектын тусгай харьцуулалт хийхийн тулд тэнцүү аргыг дарж, хоёр объектыг аргын дагуу ижил гэж үзвэл хоёр объектын хэш код нь мөн адил байх ёстой.

Хэшкод ба тэнцүү нь юунд ашиглагддаг вэ?

Хэшкодын арга нь тэнцүү аргын дагуу тэнцүү байх хоёр объектыг дуудах үедижил хэш утгыг буцаана. Хэрэв объектууд тэгш бус байвал энэ нь ихэвчлэн өөр хэш утгыг буцаана.

HashMap нь hashCode ашигладаг уу?

Та өөрийн хэрэгжилтийг хангахын тулд ангидаа үүнийг хүчингүй болгож болно. HashMap нь тэнцүү эсэхээс үл хамааран түлхүүрийг харьцуулахын тулд equals ашигладаг. Хэрэв тэнцүү арга нь үнэнийг буцаавал тэдгээр нь тэнцүү, өөрөөр хэлбэл тэнцүү биш. Нэг хувин нэгээс олон зангилаатай байж болох бөгөөд энэ нь hashCode аргаас хамаарна.

Зөвлөмж болгож буй: