Java HashMap - דע כיצד ליישם HashMap בג'אווה

מאמר זה על Java HashMap ייתן לך בכיתה HashMap בג'אווה שהיא חלק מהאוסף של Java מאז Java 1.2. הוא מספק את היישום הבסיסי של ממשק Map ב- Java.

מפת גיבוב הוא מחלקת אוספים מבוססת מפות בשימוש ב- Javaלאחסון נתונים בזוגות מפתח וערך. זה גם עוזר ביישום ממשק Map ב- Java. דרך המדיום של מאמר זה, אני אגיד לך כיצד ליישם מפת גיבוב.

הנושאים הבאים מכוסים במאמר זה:





מהו Java HashMap?

מפת גיבוב הוא בעצם חלק מ מאז Java 1.2. הוא מספק את היישום הבסיסי של המפה ממשק בג'אווה . זה בדרך כלל מאחסן את הנתונים בזוגות בצורה (מפתח, ערך). כדי לגשת לערך בתוך HashMap יש לדעת את המפתח שלו.

כיצד לשכפל אובייקט

צמדי ערכי מפתח - Java HashMap - Edurekaזה נקרא בשם HashMap מכיוון שהוא משתמש בטכניקה שנקראת Hashing. Hashing הוא תהליך של המרת מחרוזת גדולה יותר לקטנה יותר על ידי שמירה על ערך ה- כקבוע. הערך הדחוס המתקבל מסייע באינדקס ובחיפושים מהירים יותר.



עם זאת, כעת בואו להכיר את התכונות השונות של HashMap בג'אווה.

תכונות של HashMap

  • מפת האש היא חלק מתועלת חבילה בג'אווה .

  • HashMap מרחיב מעמד מופשט AbstractMap המספק גם יישום שלם של ממשק Map.



  • זה גם מיישם Cloneable ו ניתן לסידור K ו- V בהגדרה לעיל מייצגים מפתח וערך בהתאמה.

  • HashMap אינו מאפשר מפתחות כפולים אך מאפשר ערכים כפולים. פירוש הדבר שמפתח יחיד לא יכול להכיל יותר מערך אחד אך יותר ממפתח אחד יכול להכיל ערך יחיד.

  • HashMap מאפשר רק מפתח null אך ניתן להשתמש במספר ערכי null.

  • מחלקה זו אינה מתחייבת לגבי סדר המפה בפרט, היא אינה מבטיחה שההזמנה תישאר קבועה לאורך זמן. זה דומה בערך לטבלת Hash אבל לא מסונכרן.

עכשיו שאתה יודע מה זה Hashmap ותכונותיו השונות, בוא נתקדם הלאה ונבין את הביצועים של Java Hashmap.

ביצועים של Java HashMap

הביצועים תלויים בעיקר בשני פרמטרים:

  1. קיבולת ראשונית : קיבולת היא פשוט מספר הדליים ואילו קיבולת ראשונית הוא היכולת של מופע HashMap בעת יצירתו.
  2. גורם עומס: ה פקטור עומס הוא מדד שכאשר יש לבצע שטיפה חוזרת. שטיפה מחודשת היא תהליך של הגדלת הקיבולת. ב- HashMap מכפילים את הקיבולת ב- 2. Factor Load הוא גם מדד להחליט איזה חלק מה- HashMap מותר למלא לפני השטיפה מחדש. כאשר מספר הערכים ב- HashMap גדל, תוצר הקיבולת הנוכחית וקיבולת ה- Load Factor גדל גם כן. זה מרמז על שטיפה חוזרת.

הערה :אם הקיבולת הראשונית נשמרת גבוהה יותר, השטיפה המחודשת לעולם לא תיעשה. אך על ידי שמירה גבוהה יותר זה מגביר את מורכבות הזמן של איטרציה. אז צריך לבחור בחוכמה רבה כדי להגדיל את הביצועים. יש לקחת בחשבון את מספר הערכים הצפוי כדי להגדיר קיבולת ראשונית. ערך גורם העומס המועדף לרוב הוא 0.75 המספק עסקה טובה בין עלויות הזמן והמרחב. ערך גורם העומס נע בין 0 ל -1.

קונסטרוקטורים ב- HashMap

HashMap מספק ארבעה בונים וה עריכת גישה כל אחד מהם ציבורי:

סוג ליהוק בג'אווה לדוגמא
קונסטרוקטורים תיאור
1. HashMap () זהו קונסטרוקטור ברירת המחדל שיוצר מופע של HashMap עם קיבולת ראשונית 16 ופקטור עומס 0.75.
2. HashMap (קיבולת ראשונית int) זה משמש ליצירת מופע HashMap עם קיבולת ראשונית מוגדרת וגורם עומס 0.75
3. HashMap (קיבולת ראשונית int, גורם עומס צף) זה יוצר מופע HashMap עם קיבולת ראשונית מוגדרת וגורם עומס מוגדר.
4. HashMap (מפת מפה) זה יוצר מופע של HashMap עם מיפויים זהים למפה שצוינה.

כעת, בואו נראה כיצד ליישם את HashMap ב ג'אווה .

יישום HashMap

התוכנית שלהלן מדגימה כיצד ליישם את HashMap בג'אווה.

חבילה אדוריקה // תוכנית Java להמחשה //Java.util.HashMap ייבוא ​​java.util.HashMap ייבוא ​​java.util.Map מחלקה ציבורית Hashmap {public static void main (String [] args) {HashMa map = חדש HashMap () הדפס (מפה) map.put ('abc', 10) map.put ('mno', 30) map.put ('xyz', 20) System.out.println ('גודל המפה הוא' + map.size ( )) הדפס (מפה) אם (map.containsKey ('mno')) {Integer a = map.get ('mno') System.out.println ('ערך למפתח ' mno  'הוא: -' + a )} map.clear () הדפס (מפה)} הדפסה ריקנית סטטית ציבורית (מפת מפה) {if (map.isEmpty ()) {System.out.println ('המפה ריקה')} אחרת {System.out.println (מפה)}}}

בעת ביצוע תוכנית HashMap, הפלט הולך כך:

המפה ריקה גודל המפה הוא: - 3 {abc = 10, xyz = 20, mno = 30} ערך המפתח 'abc' הוא: - 10 המפה ריקה

אז זה מביא אותנו לסוף ה מאמר HashMap. אני מקווה שמצאת את זה אינפורמטיבי ועזרת לך בהבנת היסודות.

בדוק את מאת אדוריקה, חברת למידה מקוונת מהימנה עם רשת של יותר מ -250,000 לומדים מרוצים הפרוסים ברחבי העולם. אנו כאן כדי לעזור לך בכל שלב בדרכך, ולהיות מלבד שאלות ראיונות אלה ב- Java, אנו מגישים תוכנית לימודים המיועדת לסטודנטים ואנשי מקצוע המעוניינים להיות מפתח Java. הקורס נועד לתת לך יתרון לתכנות ג'אווה ולהכשיר אותך למושגי ג'אווה מרכזיים ומתקדמים יחד עם מסגרות ג'אווה שונות כמו Hibernate & Spring.

יש לך שאלה עבורנו? אנא הזכיר זאת בסעיף ההערות של 'Java HashMap' זה ' מאמר ונחזור אליך בהקדם האפשרי.