اذهب إلى المحتوى
  • 0

ما الفرق بين list و set في لغة جافا

خالد مرتضى

السؤال

Recommended Posts

  • 0

list & set يتم استخدامها لتجميع الكائنات في وحدة واحدة. يتمثل الاختلاف الرئيسي بين list و set في أن set غير مرتبة وتحتوي على عناصر مختلفة أي غير متشابهة، في حين أن list مرتبة ويمكن أن تحتوي على نفس العناصر فيها. توفر الحزمة java.util واجهة list تستخدم للحفاظ على المجموعة المرتبة. يمكن أن تحتوي list على القيم الخالية والمكررة. تعتمد دوال list على الفهرس أو ما يعرف ب index ، لذا فإن جميع العمليات مثل الإدراج والحذف والتحديث والبحث تعتمد على الفهرس, مثال على استخدام list

import java.util.*;    
class ListExample{    
    public static void main(String args[]){  
      //إنشاء قائمة
    List<String> names = new ArrayList<String>();    
  // إضافة عناصر في القائمة.
    names.add("Mohammed");    
    names.add("Ahmed");    
    names.add("Sami");    
 
    //لطباعة القائمة نستخدم حلقة التكرار for 
    for(String name: names)    
        System.out.println(name);    
    }    
}  

سوف يكون الناتج كالتالي

Mohammed
Ahmed
Sami

تنتمي واجهة Set إلى حزمة java.util, وكما قلنا سابقا هي غير مرتبة ، لذلك لا يحافظ على ترتيب العناصر المدخلة. تُستخدم واجهة Set لتصميم المجموعة الرياضية في Java, مثال على استخدام set

import java.util.*;     
public class SetExample{     
    public static void main(String[] args)     
    {     
        // إنشاءالمجموعة
        Set<String> names = new HashSet<String>();     
      	//إدخال بيانات الى المجموعة
        veg.add("Mohammed");     
        veg.add("Ahmed");     
        veg.add("sami");     
    
      	//طباعة عناصر المجموعة
          
        System.out.println(veg);     
    }     
}   

الاختلافات بينهما كالتالي

  • list يسمح لنا بإضافة نفس العناصر أو تكرارها بينما set لا يسمح لنا بذلك
  • list تحتفظ بترتيب القائمة بينما set لا يحافظ على الترتيب
  • list تسمح لنا بإضافة أي عدد من القيم الخالية  بينما set تسمح لنا بإضافة قيمة فارغة واحدة على الأقل فيها
  • فئات تطبيق list هي LinkedList و ArrayList. بينما set Tree Set و HashSet و LinkedHashSet.
  • في list يمكننا الحصول على عنصر محدد بالفهرس من القائمة باستخدام الدالة get (). بينما set لا يمكننا العثور على العنصر من المجموعة بناء على الفهرس لأنه لا يوفر أي دالة لذلك
  • يتم استخدام list عندما نريد الوصول إلى العناصر بشكل متكرر باستخدام الفهرس بينما set يتم استخدامه عندما نريد تصميم مجموعة من العناصر المميزة. 
  • في list يتم استخدام الدالة listiterator () لتكرار عناصر القائمة بينما في set يتم استخدام المكرر عندما نحتاج إلى تكرار عناصر المجموعة.
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يوجد عدد من الفروقات بينهما يمكن وضعه في النقاط اﻵتية

  1. تكرار العناصر, القائمة   "list"تسمح بتكرار العناصر بينما المجموعة "set" ﻻ تسمح بتكرار العناصر
  2. عند إضافة عناصر في القائمة يتم ظهورهم بنفس ترتيب إدخالهم, بينما في المجموعة ﻻ يتم الترتيب حسب الإدخال
  3. في القائمة يمكن الحصول على العنصر بإستخدام الindex بينمة في المجموعة ﻻ يمكن
  4. يتم إستخدام القائمة عادة عندما نريد الوصول إلى العناصر بشكل مستمر بإستخدام موقعهم في القائمة, بينما المجموعة يُفضل إستخدامها عندما نريد إنشاء مجموعة من العناصر المختلفة بدون تكرار
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...