logo

ההבדל בין Map ל- HashMap

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

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

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

יישום ממשק המפה

ה מַפָּה ניתן ליישם את הממשק באמצעות מחלקת היישום. שקול את הדוגמה הבאה:

 import java.util.*; public class MapExample { public static void main(String args[]) { Map m = new HashMap(); //implementation of the Map Interface m.put('Abhi', new Integer(001)); //Adding elements m.put('Nick', new Integer(002)); m.put('Ketty', new Integer(003)); m.put('Paul', new Integer(004)); for (Map.Entry me : m.entrySet())// Traversing of the elements through the Map { System.out.print(me.getKey() + ':'); System.out.println(me.getValue()); } } } 

תְפוּקָה:

 Nick:2 Abhi:1 Paul:4 Ketty:3 

יישום מחלקת HashMap

ניתן להכריז על מחלקה HashMap באופן הבא:

 public class HashMap extends AbstractMap implements Map, Cloneable, Serializable 

שקול את הדוגמה שלהלן כדי ליישם את HashMap:

 //Java program to store the key-pair values using HashMap import java.util.*; public class HashMapDemo { public static void main(String args[]){ //HashMap implementation HashMap m=new HashMap();//Creating HashMap m.put(1,'Chris'); //Adding elements in Map m.put(2,'Morris'); m.put(3,'Sam'); m.put(4,'Cruise'); System.out.println('Iterating Hashmap...'); for(Map.Entry me : m.entrySet()){ System.out.println(me.getKey()+' '+me.getValue()); } } } 

תְפוּקָה:

 Iterating Hashmap... 1 Chris 2 Morris 3 Sam 4 Cruise 

הבדלים עיקריים בין Map ל- HashMap

כמה הבדלים עיקריים בין המפה ל- HashMap הם כדלקמן:

  • המפה היא ממשק, ו-HashMap היא מחלקה של מסגרת אוסף Java.
  • ניתן ליישם את ממשק המפה באמצעות מחלקות היישום שלו. לשם השוואה, מחלקת HashMap מיישמת את ממשק Map.
  • המפה מכילה ערכי צמד מפתחות ייחודיים. אבל, HashMap יכול להחזיק ערכים כפולים.
  • המפה אינה מאפשרת ערכי null. אבל HashMap יכול להיות מפתח null אחד וערכים מרובים.
  • למפה יש שני יישומים, שהם HashMap ו-TreeMap. ואילו HashMap מיישמת ממשק Map ומרחיבה את מחלקת AbstractMap.
  • אין הבדל בין אובייקטי Map ו-HashMap.