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

Бид Java хэл дээрх хоёр газрын зургийг харьцуулж болох уу?
Бид Java хэл дээрх хоёр газрын зургийг харьцуулж болох уу?
Anonim

Анхны утгаараа, HashMap . тэнцүү() аргыг харьцуулна хоёр хэшап түлхүүр-утга хосоор. Энэ нь хоёулаа гэсэн үг хэшмап тохиолдлууд нь яг ижил түлхүүр-утга хостой байх ёстой бөгөөд хоёулаа ижил хэмжээтэй байх ёстой. Түлхүүр-утга хосын дараалал чадна өөр байх ба хийдэг дүрд тоглохгүй харьцуулалт.

Газрын зураг дээрх хоёр утгыг хэрхэн харьцуулах вэ?

Газрын зургийг үнэ цэнийн тэгш байдлын хувьд харьцуулах зөв арга нь:

  1. Газрын зураг ижил хэмжээтэй байгаа эсэхийг шалгана уу(!)
  2. Түлхүүрүүдийн багцыг нэг газрын зургаас аваарай.
  3. Таны авсан багцын түлхүүр бүрийн хувьд тухайн түлхүүрийн газрын зураг бүрээс авсан утга ижил байгаа эсэхийг шалгана уу (хэрэв нэг газрын зураг дээр түлхүүр байхгүй бол энэ нь тэгш бус байдлын нийт алдаа болно)

Үүнтэй адилаар би Java хэл дээрх хоёр жагсаалтыг хэрхэн харьцуулах вэ? Чи чадна хоёрыг харьцуул массив жагсаалтууд -ийн equals() аргыг ашиглан ArrayList анги, энэ аргыг хүлээн зөвшөөрдөг a жагсаалт объектыг параметр болгон одоогийн объекттой харьцуулж, таарсан тохиолдолд үнэн, таарахгүй бол худал буцаана.

Үүнтэй холбогдуулан та хоёр хэш газрын зургийг хэрхэн харьцуулах вэ?

руу Hashmaps-ийг харьцуул java хэл дээр голчлон хоёр hashCode() ба тэнцүү() аргуудыг ашигладаг. Хэрэв hashCode хоёр газрын зураг тэнцүү бол бид hashCode-ийн хувьд equals() арга руу шилжиж болно хоёр HashMaps ижил байж болно, гэхдээ адилхан гэж хэлэх нь худлаа.

Бид C++ хэл дээрх хоёр газрын зургийг харьцуулж болох уу?

The газрын зураг ::key_comp() нь STL дахь функц юм C++ энэ нь хуулбарыг буцаана харьцуулалт Container that ашигладаг объект харьцуулах түлхүүрүүд. Буцах утга: Энэ арга нь буцаана харьцуулалт Container that ашигладаг объект харьцуулах түлхүүрүүд. // C++ харуулах хөтөлбөр газрын зураг ::key_comp().

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