תוכן עניינים:

האם נוכל להשוות בין שתי מפות ב-Java?
האם נוכל להשוות בין שתי מפות ב-Java?

וִידֵאוֹ: האם נוכל להשוות בין שתי מפות ב-Java?

וִידֵאוֹ: האם נוכל להשוות בין שתי מפות ב-Java?
וִידֵאוֹ: #9 - How to compare two #HashMaps in Java - By Key-Value, By Value and By Keys 2024, נוֹבֶמבֶּר
Anonim

כברירת מחדל, מפת גיבוב . שיטת equals() משווה שתי מפות hashmap לפי צמדי מפתח-ערך. זה אומר גם וגם מפת גיבוב למופעים חייבים להיות בדיוק אותם זוגות מפתח-ערך ושניהם חייבים להיות באותו גודל. הסדר של צמדי מפתח-ערך פחית להיות שונה ו עושה לא לשחק בתפקיד ב השוואה.

מכאן, איך אתה משווה שני ערכים במפה?

הדרך הנכונה להשוות מפות לשוויון ערך היא:

  1. בדוק שהמפות בגודל זהה(!)
  2. קבל את סט המפתחות ממפה אחת.
  3. עבור כל מפתח מאותה קבוצה שאחזרת, בדוק שהערך שאוחזר מכל מפה עבור אותו מפתח זהה (אם המפתח נעדר ממפה אחת, זה כשל מוחלט של שוויון)

באופן דומה, איך אני משווה בין שתי רשימות ב-Java? אתה יכול להשוות שניים מַעֲרָך רשימות באמצעות שיטת equals() של ה- רשימת מערך class, שיטה זו מקבלת א רשימה object כפרמטר, משווה אותו לאובייקט הנוכחי, במקרה של התאמה הוא מחזיר true ואם לא הוא מחזיר false.

לגבי זה, איך אתה משווה שתי מפות חשיש?

ל השווה בין Hashmaps ב-java, בעיקר שתיים נעשה שימוש בשיטות, כלומר hashCode() ו- equals(). אם ה-hashCode של שתי מפות הם שווים אז נוכל להמשיך למתודה equals() כ-hashCode של שני HashMaps יכולים להיות זהים אבל זה לא נכון לומר שהם שווים גם כן.

האם נוכל להשוות שתי מפות ב-C++?

ה מַפָּה ::key_comp() היא פונקציה ב-STL in C++ שמחזיר עותק של השוואה אובייקט המשמש את מיכל כי לְהַשְׁווֹת מפתחות. ערך החזרה: שיטה זו מחזירה את השוואה אובייקט המשמש את מיכל כי לְהַשְׁווֹת מפתחות. // C++ תוכנית להדגמה מַפָּה ::key_comp().

מוּמלָץ: