الفرق بين القائمة وتعيين في جافا

مؤلف: Laura McKinney
تاريخ الخلق: 2 أبريل 2021
تاريخ التحديث: 12 قد 2024
Anonim
# 106 What is the difference between Set and List? | java set vs list | List vs Set |java|RedSysTech
فيديو: # 106 What is the difference between Set and List? | java set vs list | List vs Set |java|RedSysTech

المحتوى


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

  1. رسم بياني للمقارنة
  2. تعريف
  3. الاختلافات الرئيسية
  4. خاتمة

رسم بياني للمقارنة

أساس للمقارنةقائمة جلس
الأساسيتحافظ القائمة على تسلسل العناصر المخزنة في القائمة.لا يحتفظ Set بترتيب الإدراج بشكل خاص ، لكن Linked HashSet يحافظ على ترتيب الإدراج.
تكرارقد تحتوي القائمة على عناصر مكررة فيه.إرجاع الأسلوب add () false إذا حاولت إدراج العناصر المكررة.
طرقبالإضافة إلى الطرق المحددة في المجموعة ، تعرف القائمة بعض الطرق الخاصة بها.مجموعة لا تحدد أي طريقة إضافية.
التنفيذ يتم تطبيق القائمة بواسطة ArrayList ، LinkedList ، CopyOnWriteArrayList ، Vector ، Stack.يتم تطبيق Set بواسطة HashSet و LinkedHashSet و EnumSet و TreeSet و CopyOnWriteArraySet.


تعريف القائمة

قائمة واجهة يمتد واجهة المجموعة. القائمة هي مجموعة مرتبة من العناصر أو الكائنات. على عكس المجموعة ، قد تحتوي القائمة على عناصر مكررة. بالإضافة إلى الطرق المحددة في قائمة المجموعات ، تُعرّف بعض الأساليب الخاصة بها مثل get () وطريقة set () القائمة على الفهرس. أساليب add () و remove () الموروثة من المجموعة التي تضيف أو تزيل العنصر المحدد من الفهرس المحدد في وسيطة الطريقة. القائمة هي نوع من الصفيف الذي ينمو حجمه عندما نضيف عناصر إلى القائمة.

لا تحدد القائمة أي طريقة للعمل على نطاق الفهارس في القائمة. يحدد طريقة قائمة فرعية () تُرجع قائمة فرعية من القائمة الأصلية للنطاق المحدد. تظهر التغييرات التي تجريها على القائمة الفرعية أيضًا في القائمة الأصلية. يتم تطبيق واجهة القائمة بواسطة ArrayList و LinkedList و CopyOnWriteArrayList و Vector و Stack.

تعريف مجموعة

تعيين واجهة يمتد واجهة المجموعة. Set set هي مجموعة أو مجموعة من الكائنات التي لا تحتوي على أي كائن مكرر فيه. هذا يعني أن مرجعين لا يمكن أن يشيرا إلى كائن واحد ، أو لا يمكن أن يشير مرجع واحد إلى كائنين ، أو لا يمكن أن يشير إلى مرجعين Null. ترتيب العنصر أو تسلسله ليس مهمًا Set ، لكنه لا يحظر المجموعة المرتبة.


تعيين واجهة لا يحدد أي طريقة بالإضافة إلى الطريقة المحددة في المجموعة. بدلاً من ذلك ، فإنه يقيد أساليب الجمع () و addall () لإضافة أي كائن مكرر في مجموعة. إذا حاولت إضافة أي كائن مكرر في مجموعة باستخدام طريقة add () في المجموعة ، فإنها تُرجع خطأ. خلاف ذلك ، فإنه يعود صحيحا. يتم تعيين واجهة مجموعة من قبل HashSet ، LinkedHashSet ، EnumSet ، TreeSet ، CopyOnWriteArraySet.

  1. يتم الاحتفاظ بتسلسل العناصر / الكائن في مجموعة في القائمة ، بينما لا تحتفظ المجموعة بترتيب العناصر ولكن هناك استثناء ينكدينيدهاشسيت يحتفظ بترتيب الإدراج.
  2. يمكن أن تحتوي القائمة على عناصر مكررة لأنها تعرّف أي عنصر بفهرسها ، لكن لا يسمح Set بأي عناصر مكررة لأنه لا يحتوي على أي عنصر من عناصر فهرس لتحديد أي كائن في مجموعة.
  3. تحدد القائمة بعض الطرق من تلقاء نفسها ، بالإضافة إلى الطرق المحددة في المجموعة. من ناحية أخرى ، لا يحدد Set أي طريقة خاصة به ، لكنه يقيد طرق التجميع لإضافة أي عناصر مكررة.
  4. يتم تنفيذ قائمة من قبل ArrayList ، LinkedList ، CopyOnWriteArrayList ، Vector ، واجهات المكدس. من ناحية أخرى ، يتم تطبيق Set من خلال واجهات HashSet و LinkedHashSet و EnumSet و TreeSet و CopyOnWriteArraySet.

خاتمة:

يعتمد استخدام قائمة وتعيين واجهة على الشرط. إذا كان ترتيب العناصر / العناصر مهمًا ، فيجب عليك استخدام واجهة القائمة. إذا كنت لا تحتاج إلى أي عناصر مكررة في مجموعتك ، فيجب عليك استخدام واجهة Set