สารบัญ:

เราสามารถเปรียบเทียบสองแผนที่ใน Java ได้หรือไม่?
เราสามารถเปรียบเทียบสองแผนที่ใน Java ได้หรือไม่?

วีดีโอ: เราสามารถเปรียบเทียบสองแผนที่ใน Java ได้หรือไม่?

วีดีโอ: เราสามารถเปรียบเทียบสองแผนที่ใน Java ได้หรือไม่?
วีดีโอ: [Java] เปรียบเทียบ String โดยใช้เมธอด equals() 2024, อาจ
Anonim

โดยค่าเริ่มต้น, HashMap . เท่ากับ() วิธีการเปรียบเทียบ สองแฮชแมป โดยคู่คีย์-ค่า แปลว่า ทั้งสอง แฮชแมป อินสแตนซ์ต้องมีคู่คีย์-ค่าเหมือนกันทุกประการ และทั้งคู่ต้องมีขนาดเท่ากัน ลำดับของคู่คีย์-ค่า สามารถ แตกต่างและ ทำ ไม่เล่นบทบาทใน การเปรียบเทียบ.

ในที่นี้ คุณจะเปรียบเทียบสองค่าบนแผนที่ได้อย่างไร

วิธีที่ถูกต้องในการเปรียบเทียบแผนที่เพื่อความเท่าเทียมกันของมูลค่าคือ:

  1. ตรวจสอบว่าแผนที่มีขนาดเท่ากัน (!)
  2. รับชุดกุญแจจากแผนที่เดียว
  3. สำหรับแต่ละคีย์จากชุดนั้นที่คุณดึงมา ให้ตรวจสอบว่าค่าที่ดึงมาจากแต่ละแผนที่สำหรับคีย์นั้นเหมือนกัน (หากคีย์หายไปจากแผนที่เดียว แสดงว่าเป็นความล้มเหลวของความเท่าเทียมกันทั้งหมด)

ฉันจะเปรียบเทียบสองรายการใน Java ได้อย่างไร คุณสามารถ เปรียบเทียบสอง อาร์เรย์ รายการ โดยใช้วิธีเท่ากับ () ของ ArrayList คลาส วิธีนี้ยอมรับ a รายการ อ็อบเจกต์เป็นพารามิเตอร์ เปรียบเทียบกับอ็อบเจ็กต์ปัจจุบัน ในกรณีที่ตรงกัน มันจะคืนค่าเป็น จริง และหากไม่ใช่ จะส่งกลับค่าเท็จ

ในแง่นี้ คุณเปรียบเทียบแฮชแมปสองแมปอย่างไร

ถึง เปรียบเทียบ Hashmaps ใน java ส่วนใหญ่ สอง เมธอดที่ใช้คือ hashCode() และเท่ากับ () ถ้า hashCode ของ สองแผนที่ เท่ากัน เราสามารถดำเนินการเท่ากับ () วิธีการเป็น hashCode ของ สอง HashMaps สามารถเหมือนกันได้ แต่ไม่เป็นความจริงที่จะบอกว่าพวกเขาเท่าเทียมกันเช่นกัน

เราสามารถเปรียบเทียบสองแผนที่ใน C ++ ได้หรือไม่

NS แผนที่ ::key_comp() เป็นฟังก์ชันใน STL ใน C++ ที่ส่งคืนสำเนาของ การเปรียบเทียบ วัตถุที่ใช้โดยภาชนะที่ เปรียบเทียบ กุญแจ ส่งคืนค่า: วิธีนี้จะคืนค่า การเปรียบเทียบ วัตถุที่ใช้โดยภาชนะที่ เปรียบเทียบ กุญแจ // C++ โปรแกรมสาธิต แผนที่ ::key_comp().

แนะนำ: