إعلان
دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    Java الإنترفيس Map في جافا

    مقدمة

    الإنترفيس Map يتيح لك تخزين العناصر بشكل Key / Value.
    هنا كل عنصر يتم تخزينه يملك كائنين: الأول عبارة عن مفتاح ( key ) و الثاني عبارة قيمة ( value ).

    للوصول إلى أي عنصر, سواء لحذفه أو إعطائه قيمة جديدة نستخدم المفتاح له.


    نظرة عامة

    • بشكل عام, يستخدم لتخزين العناصر بشكل Key / Value.
    • يمكن للمفاتيح المختلفة أن تحتوي على نفس القيمة.
    • بعض الدوال التي يملكها ترمي الإستثناء UnsupportedOperationException إذا تم استخدامهم بطريقة خاطئة.
    • يرمى الإستثناء ClassCastException في حال كان لا يمكن تحويل نوع الكائن إلى نوع آخر.
    • يرمى الإستثناء NullPointerException في حال تم إضافة القيمة null فيه لأنه لا يقبل القيمة null.
    • يرمى الإستثناء NoSuchElementException في حال كان كائن الـ Map فارغاً و كنت تحاول إرجاع قيمة عنصر من عناصره.

    دوال الإنترفيس Map

    الجدول التالي يحتوي على دوال الإنترفيس Map.

    الدالة مع تعريفها
    public void clear() تمسح جميع العناصر الموجودة في الكائن الذي قام باستدعائها.
    public boolean containsKey(Object key) ترجع true إذا كان الكائن الذي قام باستدعائها يحتوي على الكائن key الذي نضعه لها كـ Argument كمفتاح فيه.
    public boolean containsValue(Object value) ترجع true إذا كان الكائن الذي قام باستدعائها يحتوي على الكائن value الذي نضعه لها كـ Argument كقيمة فيه.
    public boolean equals(Object obj) ترجع true في حال كان الكائن الذي قام باستدعائها يتطابق مع الكائن الذي نمرره لها كـ Argument.
    public Object get(Object key) ترجع قيمة المفتاح الذي نمرره لها كـ Argument.
    في حال كان كائن الكائن الذي قام باستدعائها لا يحتوي على المفتاح الذي مررناه لها, ترجع القيمة null.
    public int hashCode() ترجع الـ Hash Code للكائن الذي قام باستدعائها.
    public boolean isEmpty() ترجع true في حال كان الكائن الذي قام باستدعائها فارغاً.
    public Set keySet() ترجع كائن نوعه Set يحتوي على جميع مفاتيح الكائن الذي قام باستدعائها.
    public Object put(Object key, Object value) تستخدم لإضافة عنصر جديد في الكائن الذي قام باستدعائها مع تحديد مفتاح الوصول إليه و قيمته.
    • key هو كائن يمثل مفتاح العنصر.
    • value هو كائن يمثل قيمة العنصر.
    public void putAll(Map m) تضيف جميع عناصر الكائن m الذي نمرره لها كـ Argument في الكائن الذي قام باستدعائها.
    public Object remove(Object key) تحذف العنصر الذي يملك المفتاح الذي نمرره لها كـ Argument.
    public int size() ترجع عدد العناصر الموجودة في الكائن الذي قام باستدعائها.
    public Collection values() ترجع كائن نوعه Collection يحتوي على جميع قيم الكائن الذي قام باستدعائها.

    مثال شامل

    في المثال التالي قمنا بإنشاء ثلاث كائنات من ثلاث كلاسات مختلفة ترث من الإنترفيس Map.
    لاحظ أننا استخدمنا الدالة put() التي ورثتها الكائنات في الأساس من الإنترفيس Map.


    Main.java
    import java.util.Map;
    import java.util.TreeMap;
    import java.util.HashMap;
    import java.util.LinkedHashMap;
     
    public class Main {
     
        public static void main(String[] args) {
     
            // وضعنا فيه ثلاث عناصر m1 إسمه TreeMap هنا قمنا بإنشاء كائن من الكلاس
            Map m1 = new TreeMap();
            m1.put(1, "Ayoub");
            m1.put(2, "Salem");
            m1.put(3, "Rayan");
     
            // وضعنا فيه ثلاث عناصر m2 إسمه HashMap هنا قمنا بإنشاء كائن من الكلاس
            Map m2 = new HashMap();
            m2.put(1, "Mona");
            m2.put(2, "Rima");
            m2.put(3, "Hana");
     
            // وضعنا فيه ثلاث عناصر m3 إسمه LinkedHashMap هنا قمنا بإنشاء كائن من الكلاس
            Map m3 = new LinkedHashMap();
            m3.put(1, "Jhony");
            m3.put(2, "Ahmad");
            m3.put(3, "Jihad");
     
            // m3 و m2 و m1 هنا قمنا بعرض محتويات الكائنات
            System.out.println("TreeMap keys/values:       " + m1);
            System.out.println("HashMap keys/values:       " + m2);
            System.out.println("LinkedHashMap keys/values: " + m3);
     
        }
     
    }
    		

    سنحصل على النتيجة التالية عند التشغيل.

    TreeMap keys/values:       {1=Ayoub, 2=Salem, 3=Rayan}
    HashMap keys/values:       {1=Mona, 2=Rima, 3=Hana}
    LinkedHashMap keys/values: {1=Jhony, 2=Ahmad, 3=Jihad} 
    		
    إعلان

    Eqla3Tech.com

    شروحات مكتوبة حول لغات البرمجة و تقنية المعلومات باللغة العربية مقدمة من إقلاع تك.

    لغة جافا لغة ++C قواعد البيانات نظام ويندوز نظام لينكس الشبكات تقنية المعلومات الأمن السيبراني

    الدورات

    أدوات مساعدة

    الأقسام

    دورات
    مقالات أسئلة مشاريع كتب