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

    مقدمة

    الإنترفيس SortedSet يرث من الإنترفيس Set. تم بناءه لتخزين العناصر بترتيب تصاعدي ( Ascending ).

    إذاً في حال كانت قيم العناصر تمثل أرقام, عندها يتم ترتيبهم من العدد الأصغر إلى العدد الأكبر.
    في حال كانت قيم العناصر تمثل نصوص أو كلمات أو أحرف, عندها يتم ترتيبهم ترتيباً أبجدياً.

    كما أنه يحتوي على دوال جديدة غير موجودة في الإنترفيس Set.


    نظرة عامة

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

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

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

    الدالة مع تعريفها
    public Object first() ترجع قيمة أول عنصر موجود في الكائن الذي قام باستدعائها.
    ملاحظة: قيمته ستكون أصغر قيمة لأن العناصر في هذا الكائن تترتب فيه بشكل تصاعدي.
    public Object last() ترجع قيمة آخر عنصر موجود في الكائن الذي قام باستدعائها.
    ملاحظة: قيمته ستكون أكبر قيمة لأن العناصر في هذا الكائن تترتب فيه بشكل تصاعدي.
    public SortedSet headSet(Object end) ترجع كائن نوعه SortedSet يحتوي على جميع عناصر الكائن الذي قام باستدعائها الموجودة قبل الكائن end.
    public SortedSet tailSet(Object Start) ترجع كائن نوعه SortedSet يحتوي على جميع عناصر الكائن الذي قام باستدعائها إبتداءاً من الكائن start حتى آخر عنصر موجود فيه.
    public SortedSet subSet(Object start, Object end) ترجع كائن نوعه SortedSet يحتوي على جميع عناصر الكائن الذي قام باستدعائها إبتداءاً من الكائن start وصولاً إلى الكائن end.
    public Comparator comparator() ترجع كائن نوعه Comparator يمثل الإنترفيس المستخدم في مقارنة العناصر.
    ترجع null في حال لم تقم بتغيير الإنترفيس الإفتراضي.

    مثال شامل

    في المثال التالي قمنا بإنشاء كائن من الكلاس TreeSet و الذي يرث من الإنترفيس SortedSet.
    قمنا باستخدام جميع دواله التي ذكرناها في الجدول السابق.

    مثال

    Main.java
    import java.util.*;		// util هنا قمنا باستدعاء جميع الكلاسات و الإنترفيسات الموجودة في الحزمة
     
    public class Main {
     
        public static void main(String[] args) {
     
            // ts إسمه TreeSet هنا قمنا بإنشاء كائن من الكلاس
            TreeSet ts = new TreeSet();
     
            // تعمدنا عدم ترتيب القيم من الأصغر إلى الأكبر حتى ترى أنه سيرتبهم بشكل تلقائي .ts هنا قمنا بإضافة 5 قيم في الكائن
            ts.add(4);
            ts.add(2);
            ts.add(5);
            ts.add(3);
            ts.add(1);
     
            // لاحظ أنه قام بترتيبهم من الأصغر إلى الأكبر .ts هنا قمنا بعرض عناصر الكائن
            System.out.println("All elements : " + ts);
     
            // ts هنا قمنا بعرض أول عنصر موجود في الكائن
            System.out.println("First element: " + ts.first());
     
            // ts هنا قمنا بعرض آخر عنصر موجود في الكائن
            System.out.println("Last element : " + ts.last());
     
            // '3' الموجودة قبل العنصر الذي يملك القيمة ts هنا قمنا بعرض جميع عناصر الكائن
            System.out.println("headSet(3)   : " + ts.headSet(3));
     
            // '3' إبتداءاً من العنصر الذي يملك القيمة ts هنا قمنا بعرض جميع عناصر الكائن
            System.out.println("tailSet(3)   : " + ts.tailSet(3));
     
            // 'إبتداءاً من العنصر الذي يملك القيمة '1' وصولاً إلى ما قبل العنصر الذي يملك القيمة '4 ts هنا قمنا بعرض جميع عناصر الكائن
            System.out.println("Subset(1,4)  : " + ts.subSet(1, 4));
     
            // هنا قمنا بعرض الإنترفيس المستخدم في مقارنة العناصر
            System.out.println("Comparator() : " + ts.comparator());
     
        }
     
    }
    		

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

    All elements : [1, 2, 3, 4, 5]
    First element: 1
    Last element : 5
    headSet(3)   : [1, 2]
    tailSet(3)   : [3, 4, 5]
    Subset(1,4)  : [1, 2, 3]
    Comparator() : null 
    		
    إعلان

    Eqla3Tech.com

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

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

    الدورات

    أدوات مساعدة

    الأقسام

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