كيفية تنفيذ Map Interface في Java؟



ستساعدك هذه المقالة في Java Map Inteface على فهم كيفية عمل الخريطة في Java وتقدم لك الفئات المختلفة التي تطبق Map Interface

واحدة من أكثر المواضيع إثارة للاهتمام في Java هي واجهة الخريطة التييمثل التعيين بين مفتاح وقيمة.غالبًا ما يساء فهمه على أنه نوع فرعي من واجهة جافا.ستساعدك هذه المقالة على Java Map Interface في فهم كيفية عمل الخريطة وإتقانها .

هو جافا على أساس c

المدرجة أدناه هي الموضوعات التي تم تناولها في هذه المقالة:





واجهة خريطة جافا

الخريطة في جافا هي ملف موضوع يقوم بتعيين المفاتيح للقيم وهو مصمم لعمليات البحث الأسرع. يتم تخزين البيانات في أزواج ذات قيمة مفتاح وكل مفتاح فريد من نوعه. يتم تعيين كل مفتاح إلى قيمة ومن ثم يتم تعيين الاسم. تسمى أزواج المفتاح والقيمة هذه إدخالات الخريطة.

الخرائط في جافا - واجهة خريطة جافا - Edureka



في ال ، java.util. خريطة هو يتضمن تواقيع الطريقة لإدراج العناصر وإزالتها واسترجاعها بناءً على مفتاح. باستخدام مثل هذه الأساليب ، تعد أداة مثالية لاستخدامها في تعيين ارتباط قيم المفتاح مثل القواميس.

خصائص واجهة الخريطة

  • لا تعد واجهة الخريطة نوعًا فرعيًا حقيقيًا لواجهة المجموعة ، وبالتالي ،تختلف خصائصها وسلوكياتها عن باقي أنواع المجموعات.
  • أنه يوفرثلاث طرق عرض للمجموعة - مجموعة من المفاتيح ، ومجموعة من تعيينات قيمة المفتاح ومجموعة القيم.
  • إلىخريطةلا يمكن أن يحتوي على مفاتيح مكررة ويمكن تعيين كل مفتاح لقيمة واحدة على الأكثر. تسمح بعض التطبيقات بمفتاح فارغ وقيمة خالية ( HashMap و LinkedHashMap ) لكن البعض الآخر لا ( خريطة شجرة).
  • لا تضمن واجهة الخريطة ترتيب التعيينات ، ومع ذلك ، فإنها تعتمد على التنفيذ. على سبيل المثال، خريطة التجزئة لا يضمن ترتيب التعيينات ولكن خريطة الشجرة هل.
  • توفر فئة AbstractMap تنفيذًا هيكليًا لواجهة Java Map ومعظم خصائص الخريطة الطبقات تمديد فئة AbstractMap وتنفيذ الأساليب المطلوبة.

الآن بعد أن أصبحت لديك فكرة عن واجهة الخريطة هو ، دعنا نمضي قدمًا ونتحقق من التسلسل الهرمي لخريطة جافا.

التسلسل الهرمي لخريطة جافا

هناك نوعان من الواجهات التي تقوم بتنفيذ الخريطة في جافا: Map و مرتبة على الخريطة. وفئات التنفيذ الشائعة لتطبيق Map في Java هي HashMap ، TreeMap و و لينكدهاشماب. التسلسل الهرمي لخريطة جافا موضح أدناه:



قبل أن نتحقق من فئات التنفيذ الثلاثة لواجهة خريطة Java المذكورة أعلاه ، إليك بعض الطرق الشائعة التي يمكنك مواجهتها عند العمل باستخدام الخريطة.

الطرق في Java Map Interface

طرق

وصف

طرح عام (مفتاح الكائن ، قيمة الكائن)تُدرج هذه الطريقة مُدخلًا في الخريطة
عامةوضع باطل الكل (خريطة الخريطة)تُدرج هذه الطريقة الخريطة المحددة في هذه الخريطة
إزالة الكائن العام (مفتاح الكائن)يتم استخدامه لحذف إدخال للمفتاح المحدد
مجموعة المفاتيح العامة ()تقوم بإرجاع طريقة العرض Set التي تحتوي على جميع المفاتيح
مجموعة دخول عامة مجموعة ()تقوم بإرجاع طريقة العرض Set التي تحتوي على جميع المفاتيح والقيم
باطل واضح ()يتم استخدامه لإعادة تعيين الخريطة
putIfAbsent العامة باطل (مفتاح K ، قيمة V)يقوم بإدراج القيمة المحددة بالمفتاح المحدد في الخريطة فقط إذا لم تكن محددة بالفعل
الحصول على كائن عام (مفتاح الكائن)تقوم بإرجاع قيمة المفتاح المحدد
يحتوي المنطقي العام على مفتاح (مفتاح كائن)
يتم استخدامه للبحث عن المفتاح المحدد من هذه الخريطة

تطبيقات الخريطة

هناك العديد التي تنفذ خريطة جافالكن ثلاثة تطبيقات رئيسية وعامة الغرضHashMap و TreeMap و LinkedHashMap.دعونا نرى خصائص وسلوكيات كل تطبيق مع مثال

فئة HashMap

الفئة الأكثر شيوعًا التي تنفذ واجهة Java Map هي HashMap. إنه تطبيق قائم على جدول التجزئة لواجهة الخريطة.يقوم بتنفيذ جميع عمليات الخريطةويسمح بقيم خالية ومفتاح واحد فارغ. أيضًا ، لا تحافظ هذه الفئة على أي ترتيب بين عناصرها. إليك مثال لبرنامج يوضح فئة HashMap.

package MyPackage import java.util. * class HashMapExample {public static void main (String [] args) {Map courses = new HashMap () // أضف بعض الدورات. دورات. دورات علوم البيانات ، عدد صحيح جديد (2)) System.out.println ('إجمالي الدورات:' + courses.size ()) مجموعةst = course.entrySet () لـ (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println () String searchKey = 'دورات Java' إذا كان (course.containsKey (searchKey)) System.out.println ('Found total' + courses.get (searchKey) + '' + searchKey)}}

انتاج |

مجموع الدورات: 4 دورات سحابية: 7 دورات برمجة: 5 دورات في علوم البيانات: 2 دورات جافا: 6 تم العثور على مجموع 6 دورات جافا

في البرنامج أعلاه ، لقد استخدمت الكثير من الأساليب المذكورة في الجدول. أولا ، وضع() تقوم الطريقة بإدراج 4 إدخالات في الخريطة ، و بحجم() تعرض الطريقة في الخطوة التالية حجم الخريطة (إجمالي أزواج القيمة الرئيسية). بعد ذلك ، في الخطوة التالية ، سيظهر ملف مجموعة دخول () طريقة إرجاع جميع أزواج مفتاح القيمة. يوضح البرنامج أيضًا كيفية الاستفادة من ملفات احصل على() طريقة للبحث عن قيمة باستخدام المفتاح المرتبط.

دعنا ننتقل إلى الفئة التالية التي تنفذ Java Map Interface - TreeMap.

فئة TreeMap

يستخدم هذا التنفيذ شجرة الأحمر والأسود كأساس هيكل البيانات . يتم فرز TreeMap وفقًا للترتيب الطبيعي لمفاتيحها ، أو عن طريق المقارنة المتوفرة في وقت الإنشاء. لا يسمح هذا التنفيذ بالقيم الخالية ولكنه يحتفظ بهاالنظام على عناصره. فيما يلي مثال لبرنامج يوضح فئة TreeMap.

package MyPackage import java.util. * class TreeMapEx {public static void main (String [] args) {Map courses = new TreeMap () // أضف بعض الدورات. course.put ('دورات Java' ، عدد صحيح جديد (3)) course.put ('AWS Courses'، new Integer (7)) course.put ('Programming Courses، new Integer (8)) course.put (' دورات علوم البيانات ، عدد صحيح جديد (2)) System.out.println ('إجمالي الدورات:' + courses.size ()) مجموعةst = course.entrySet () لـ (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

انتاج |

إجمالي الدورات: 4 دورات AWS: 7 دورات في علوم البيانات: 2 دورات Java: 3 دورات برمجة: 8

في الإخراج ، تتم طباعة عناصر الخريطة بترتيب معجمي صارم ، والذي لا يظهر في الأمثلة السابقة لخريطة HashMap. الفصل التالي الذي سنناقشه هو لينكدهاشماب .

فئة LinkedHashMap

كما يشير الاسم ، فإن تنفيذ واجهة Java Map يستخدم جدول تجزئة وقائمة مرتبطة بهياكل البيانات الأساسية. وبالتالي فإن ترتيب LinkedHashMap هويمكن التنبؤ به ، مع ترتيب الإدخال باعتباره الترتيب الافتراضي. أيضًا ، يسمح بالقيم الخالية كما في HashMap. فيما يلي مثال لبرنامج يوضح فئة TreeMap.

package MyPackage import java.util. * public class LinkedHashMapExample {public static void main (String a []) {LinkedHashMap course = new LinkedHashMap () course.put ('Java Courses'، new Integer (3)) course.put (' الدورات السحابية ، عدد صحيح جديد (7)) course.put ('دورات البرمجة' ، عدد صحيح جديد (8)) courses.put ('دورات علوم البيانات' ، عدد صحيح جديد (2)) // يطبع العناصر بنفس الترتيب // كما تم إدراجها System.out.println (دورات) System.out.println ('إجمالي الدورات:' + courses.size ()) System.out.println ('يحتوي على مفتاح' Hadoop '؟' + course.containsKey ('Hadoop')) System.out.println ('الحصول على قيمة للمفتاح' دورات البرمجة ':' + courses.get ('دورات البرمجة')) System.out.println ('هل الخريطة فارغة؟' + courses.isEmpty ()) System.out.println ('حذف العنصر' دورات السحابة ':' + courses.remove ('دورات السحابة')) System.out.println (الدورات)}}

انتاج |

{دورات Java = 3 ، دورات السحابة = 7 ، دورات البرمجة = 8 ، دورات علوم البيانات = 2} إجمالي الدورات: 4 تحتوي على مفتاح 'Hadoop'؟ خطأ الحصول على قيمة مفتاح 'دورات البرمجة': 8 هل الخريطة فارغة؟ عنصر حذف خاطئ 'دورات السحابة': 7 {دورات جافا = 3 ، دورات البرمجة = 8 ، دورات علوم البيانات = 2}

البرنامج النموذجي سهل الفهم. لقد استخدمت بعض الطرق الأساسية لإثبات عمل LinkeHashMap في Java. كما قلت سابقًا هناك ، بصرف النظر عن هؤلاء الثلاثة ، هناك الكثير من الفئات الأخرى التي تطبق واجهة Java Map.

يقودنا هذا إلى نهاية مقالة 'Java Map Interface'. لقد قمت بتغطية أحد الموضوعات المثيرة للاهتمام في Java ، وهو واجهة Map في Java.

تأكد من ممارسة أكبر قدر ممكن وإعادة تجربتك.

تفحص ال من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. نحن هنا لمساعدتك في كل خطوة في رحلتك ، لكي تصبح بجانب أسئلة مقابلة جافا هذه ، توصلنا إلى منهج مصمم للطلاب والمهنيين الذين يريدون أن يصبحوا مطور جافا.

لديك سؤال لنا؟ يرجى ذكرها في قسم التعليقات في 'واجهة خريطة جافا' مقال وسنعاود الاتصال بك في أقرب وقت ممكن.