האם שווה משתמש בקוד hash?

האם שווה משתמש בקוד hash?
האם שווה משתמש בקוד hash?
Anonim

שוויון HashCode לא אומר ששווה מחזיר אמת. החוזה הוא ששני אובייקטים שווים חייבים להיות בעלי אותו hashCode. אבל זה לא מציין ששני האובייקטים עם אותו HashCode חייבים להיות שווים.

האם השיטה שווה משתמשת בקוד hash?

כשאנחנו מדברים על שיטת שווה, המטרה העיקרית היא להשוות את המצב של שני אובייקטים או את התוכן של האובייקט.

האם שווה משתמש ב-hashCode C?

זה בגלל ש-המסגרת דורשת ששני אובייקטים זהים חייבים להיות בעלי אותו hashcode. אם תעקוף את שיטת שווה כדי לבצע השוואה מיוחדת של שני אובייקטים ושני האובייקטים נחשבים זהים לפי השיטה, אז גם קוד ה-hash של שני האובייקטים חייב להיות זהה.

למה משמש ה-hashCode והשווה?

שיטת ה-hashcode מחזירה אותו ערך גיבוב כאשר קוראים לשני אובייקטים, ששווים לפי שיטת equals. ואם האובייקטים אינם שווים, זה בדרך כלל מחזיר ערכי hash שונים.

האם HashMap משתמש ב-hashCode או שווה?

אתה יכול לעקוף את זה בכיתה שלך כדי לספק יישום משלך. HashMap משתמש ב-eques כדי להשוות את המפתח בין אם הם שווים או לא. אם השיטה שווה מחזירה true, הם שווים אחרת לא שווים. דלי בודד יכול לכלול יותר מצמתים אחד, זה תלוי בשיטת hashCode.

מוּמלָץ: