إعلان
دورة تطوير التطبيقات باستخدام لغة 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 الكلاس LinkedHashSet في جافا

    مقدمة

    الكلاس LinkedHashSet يرث من الكلاس HashSet تم تصميمه فقط للحفاظ على ترتيب العناصر التي يتم إدخالها فيه.
    و هو يملك نفس الأشياء التي يملكها الكلاس HashSet.

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

    هنا لا يمكنك الوصول لعنصر محدد من عناصر كائن الـ LinkedHashSet لأن العناصر هنا لا تملك أرقام Index. لذلك لا يحتوي على أي دالة من دوال get().
    إذاً هنا للوصول إلى عنصر ما عليك المرور على جميع العناصر الأخرى الموجودة في كائن الـ LinkedHashSet.


    بناؤه

    public class LinkedHashSet<E>
    extends HashSet<E>
    implements Set<E>, Cloneable, Serializable
    	

    إذاً الكلاس HashSet يرث من الكلاس AbstractSet, و يطبق الإنترفيسات Set - Cloneable - Serializable.

    كونستركتورات الكلاس LinkedHashSet

    الجدول التالي يحتوي على جميع الكونستركتورات الموجودين في الكلاس LinkedHashSet.

    الكونستركتور مع تعريفه
    public LinkedHashSet() هذا الكونستركتور الإفتراضي في الكلاس LinkedHashSet, يستخدم لإنشاء كائن نوعه LinkedHashSet ليس له حجم محدد.
    public LinkedHashSet(int initialCapacity) يستخدم هذا الكونستركتور لتحديد حجم كائن الـ ArrayList الأولي.
    الرقم الذي نضعه كـ Argument في هذا الكونستركتور يحدد عدد عناصر كائن الـ ArrayList الذي يمكنه احتوائهم على الأقل.
    public LinkedHashSet(int capacity, float fillRatio) يستخدم هذا الكونستركتور لتحديد حجم كائن الـ LinkedHashSet الأولي الذي نريده أن يحجز له في الذاكرة.
    الرقم الذي نضعه مكان الباراميتر capacity يحدد عدد العناصر التي يمكن أن يحتويها كائن الـ LinkedHashSet, و تذكر أن حجمه يزيد عند الحاجة.
    الرقم الذي نضعه مكان الباراميتر fillRatio يمكن أن يكون بين 0.0f و 1.0f.
    هنا يتم ضرب المتغيرين capacity و fillRatio ببعضهم, ناتج عملية الضرب يحدد متى سيتم زيادة حجم كائن الـ LinkedHashSet في الذاكرة.
    public LinkedHashSet(Collection c) يستخدم هذا الكونستركتور لإنشاء كائن نوعه LinkedHashSet يحتوي على عناصر كائن الـ Collection الذي نمرره له كـ Argument.

    دوال الكلاس LinkedHashSet

    الجدول التالي يحتوي على جميع دوال الكلاس LinkedHashSet.

    الدالة مع تعريفها
    public boolean add(Object o) تضيف عنصر جديد في كائن الـ LinkedHashSet.
    ترجع true إذا تمت الإضافة بنجاح.
    public void clear() تمسح جميع العناصر الموجودة في كائن الـ LinkedHashSet.
    public Object clone() تنشئ نسخة من كائن الـ LinkedHashSet.
    public boolean contains(Object o) ترجع true إذا كان كائن الـ LinkedHashSet يحتوي على القيمة التي نضعها لها كـ Argument.
    public boolean isEmpty() ترجع true في حال كان كائن الـ LinkedHashSet فارغاً.
    public boolean remove(Object o) تحذف عنصر محدد من كائن الـ LinkedHashSet و ترجعه.
    ترجع true إذا تم حذف الكائن بنجاح, غير ذلك ترجع false.
    public int size() ترجع عدد العناصر الموجودة في كائن الـ LinkedHashSet.
    public Iterator iterator() ترجع كائن نوعه Iterator يحتوي على جميع عناصر كائن الـ LinkedHashSet.

    مثال شامل

    في المثال التالي قمنا بتعريف كائن نوعه LinkedHashSet, إسمه lhs, ثم أدخلنا فيه 6 عناصر.

    بعدها قمنا بعرض عناصر الكائن lhs, ثم عرضنا عددهم.


    Main.java
    import java.util.LinkedHashSet;		// LinkedHashSet هنا قمنا باستدعاء الكلاس
     
    public class Main {
     
        public static void main(String[] args) {
     
            // lhs إسمه LinkedHashSet هنا قمنا بإنشاء كائن من الكلاس
            LinkedHashSet lhs = new LinkedHashSet();
     
            // lhs هنا قمنا بإدخال 6 عناصر في الكائن
            lhs.add("A");
            lhs.add("B");
            lhs.add("C");
            lhs.add("D");
            lhs.add("E");
            lhs.add("F");
     
            // lhs هنا قمنا بعرض عدد عناصر الكائن
            System.out.println("All elements: " + lhs + "\n");
     
            // لاحظ أنه لم يتم تخزينهم بالترتيب الذي أدخلناهم فيه .hs هنا قمنا بعرض عناصر الكائن
            System.out.println("Number of elements: " + lhs.size());
     
        }
     
    }
    		

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

    All elements: [A, B, C, D, E, F]
    
    Number of elements: 6 
    		
    إعلان

    Eqla3Tech.com

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

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

    الدورات

    أدوات مساعدة

    الأقسام

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