เท่ากับใช้ hashcode หรือไม่?

สารบัญ:

เท่ากับใช้ hashcode หรือไม่?
เท่ากับใช้ hashcode หรือไม่?
Anonim

ความเท่าเทียมกันของ HashCode ไม่ได้หมายความว่าจะคืนค่าเท่ากับ จริง สัญญาคือว่า อ็อบเจ็กต์ที่เท่ากันต้องมีแฮชโค้ดเดียวกัน แต่ไม่ได้ระบุว่าทั้งสองวัตถุที่มี HashCode เดียวกันจะต้องเท่ากัน

วิธีเท่ากับใช้ hashCode หรือไม่

เมื่อเราพูดถึงวิธีเท่ากับ จุดประสงค์หลักคือ เพื่อเปรียบเทียบสถานะของวัตถุสองชิ้นหรือเนื้อหาของวัตถุ.

เท่ากับใช้ hashCode C หรือไม่

เป็นเพราะ เฟรมเวิร์กต้องการให้สองอ็อบเจ็กต์ที่เหมือนกันต้องมีแฮชโค้ดเหมือนกัน หากคุณลบล้างเมธอดเท่ากับเพื่อทำการเปรียบเทียบพิเศษของสองอ็อบเจ็กต์ และทั้งสองอ็อบเจ็กต์ถือว่าเหมือนกันโดยเมธอด โค้ดแฮชของทั้งสองอ็อบเจ็กต์จะต้องเหมือนกัน

hashCode และเท่ากับใช้สำหรับอะไร

วิธีแฮชโค้ดส่งคืน ค่าแฮชเดียวกันเมื่อเรียกบนวัตถุสองชิ้น ซึ่งเท่ากันตามวิธีเท่ากับ และหากวัตถุไม่เท่ากันก็มักจะคืนค่าแฮชที่แตกต่างกัน

HashMap ใช้ hashCode หรือเท่ากับหรือไม่

คุณสามารถแทนที่สิ่งนี้ในชั้นเรียนของคุณเพื่อจัดเตรียมการใช้งานของคุณเอง HashMap ใช้ equals เพื่อเปรียบเทียบคีย์ว่าค่าเท่ากันหรือไม่ หากวิธีเท่ากับคืนค่าจริงพวกเขาจะเท่ากันไม่เท่ากัน ที่ฝากข้อมูลเดียวสามารถมีได้มากกว่าหนึ่งโหนด ขึ้นอยู่กับวิธี hashCode

แนะนำ: