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

Anonim

الفرق بين قائمة صفيف والقائمة المرتبطة

قبل أن ندخل في الاختلافات الفعلية، دعونا نتعرف على ما هي عليه حقا؟

ما هو مجموعة؟

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

> <>> الإدخال إلى مجموعة:

20، 50، 10، 30. يتم تخزينه في مجموعة

10، 20، 30، 50 < يتم فرز العناصر هنا ويتم تخزينها ليس في ترتيب الإدراج. هذه هي واحدة من ملامح مجموعة أنه دائما يصنف العناصر قبل تخزين وبطبيعة الحال، هناك استثناءات منه واحد من هذا هو لينكدهاشسيت لأنه يحافظ على ترتيب الإدراج من العناصر.

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

كيفية تنفيذه؟

لمجرد فهم أفضل، قمنا بتمثيل مجموعة مع تركيبتها. من بناء الجملة أدناه، يمكنك تحديد أنواع مختلفة من مجموعة مثل هاسست و تريسيت.

استيراد جافا. UTIL. *؛

الفئة العامة سيتسكسامبل {

فولات ستاتيك فواد مين (سترينغ أرجس []) {

إنت كونت [] = {34، 22، 10، 60، 30، 22} {25، 17، 76، 12 ، 88، 57}؛

سيت سيت = نيو هاشسيت ()؛

جرب {

ل (إنت i = 0؛ i <5؛ i ++) {

سيت. إضافة (عد [أنا])؛

}

النظام. خارج. println (مجموعة)؛

تريسيت سورتدسيتيغ = جديد تريسيت (مجموعة)؛

النظام. خارج. برينتلن ("هنا لدينا الإخراج مرتبة:")؛

النظام. خارج. println (sortedSeteg)؛

النظام. خارج. برينتلن ("لوك أت ذي فيرست إليمنت:" + (إنتيجر) سورتدست. فيرست ())؛

النظام. خارج. برينتلن ("لوك أت ذي لاست إليمنت:" + (إنتيجر) سورتدست. لاست ())؛

}

كاتش (إكسبتيون e) {}

}

}

ناتج الشفرة أعلاه هو كما يلي.

[25، 17، 76، 12، 88]

هنا لدينا الإخراج المصنف:

[12، 17، 25، 76، 88]

انظر إلى العنصر الأول: 12 > انظر إلى العنصر الأخير: 88

ما هي القائمة؟

وهناك قائمة يمتد مجموعة مماثلة لكيفية فعلت مجموعة، لكنه يحافظ على ترتيب الإدراج. حاولت إضافة الأسماء التالية إلى قائمة وتعرف على كيفية إضافتها إليها.

المدخلات إلى قائمة:

جون، نانسي، ماري، أليس. كيف يتم تخزينها في قائمة:

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

كيفية تنفيذه؟

دعونا نلقي نظرة على عدد قليل من أساليب قائمة مثل أريليست و لينكدليست في بناء الجملة أدناه.

استيراد جافا. UTIL. *؛

بوبليك كلاس كولكتيونسزامبل {

بوبليك ستاتيك فواد مين (سترينغ [] أرجس) {

ليست a1 = نيو أريليست ()؛

A1. إضافة ("جون")؛

A1. إضافة ("نانسي")؛

A1. إضافة ("ماري")؛

A1. إضافة ("أليس")؛

النظام. خارج. برينتلن ("أريليست إليمنتس أر")؛

النظام. خارج. برينت (" t" + a1)؛

ليست l1 = نيو لينكدليست ()؛

L1. إضافة ("سيلفيا")؛

L1. إضافة ("أرجون")؛

L1. إضافة ("ديبيكا")؛

L1. إضافة ("سوزان")؛

النظام. خارج. println ()؛

النظام. خارج. برينتلن ("عناصر الروابط المرتبطة")؛

النظام. خارج. برينت (" t" + l1)؛ }}

ناتج بناء الجملة أعلاه كما يلي.

عناصر أريليست

[جون، نانسي، ماري، أليس]

عناصر لينكدليست

[سيلفيا، أرجون، ديبيكا، سوزان]

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

كيف تختلف؟

الأساليب والأوصاف:

  • مجموعة وقائمة لها أساليبها الخاصة ودعونا ننظر في عدد قليل منهم هنا.

S. لا

تعيين - طرق قائمة - طرق 1.
إضافة () - هو لإضافة كائنات إلى مجموعة. فواد أد (فهرس إنت، أوبجيكت أوبج) - ويضيف الكائن 'أوبج' في 'الفهرس' المحدد لقائمة الاستدعاء ويضمن عدم استبدال أي عنصر عن طريق تحويل العناصر السابقة. 2.
كلير () - هو إزالة الكائنات من مجموعة. بولان أدال (فهرس إنت، كولكتيون c) - ويضيف المجموعة الكاملة 'c' إلى القائمة المستعارة وفي 'إندكس' المحدد. كما يضمن عدم الكتابة فوق أي عناصر. يمكننا أيضا التحقق من صحة عملها من خلال فحص قيمة العودة. فإنه يعود "صحيح" إذا كان التغيير ناجحا خلاف ذلك، فإنه يعود قيمة "كاذبة". 3.
يحتوي على () - هو التحقق مما إذا كانت المجموعة تحتوي على كائن معين في ذلك. تقوم بإرجاع قيمة 'ترو' إذا كان الكائن موجودا في المجموعة. كائن الحصول على (مؤشر إنت) - يقوم بإرجاع العنصر أو الكائن في 'الفهرس' المحدد. 4.
إسيمبتي () - هو تحديد ما إذا كانت المجموعة تساعد في أي عناصر في ذلك. وهي ترجع قيمة "ترو" إذا لم يكن هناك عنصر. إنت لاستندكسوف (أوبجيكت أوبج) - وهو مماثل لعكس إندكسوف () الطريقة. يقوم بإرجاع آخر ظهور للكائن المحدد 'أوبج' ويتم إرجاع قيمة '1' إذا لم يكن هناك كائن من هذا القبيل في القائمة. لذلك، فإنه يمكن أيضا أن تستخدم يحتوي على () طريقة واجهة مجموعة. 6.
إزالة () - هو إزالة عنصر من مجموعة من خلال تحديده كمعلمة إلى الأسلوب. ليستيتيراتور ليستتيراتور () - تقوم بإرجاع أداة تكرارية إلى فهرس البدء بالقائمة. 7.
الحجم () - هو حساب عدد العناصر أو العناصر التي تحتوي عليها المجموعة. ليستيتيراتور ليستتيراتور (إنت إندكس) - فإنه يساعد في التكرار من خلال قائمة استدعاء بدءا من 'الفهرس' المحدد. 8.
- إزالة الكائن (فهرس إنت) - يقوم بحذف الكائن في 'إندكس' المحدد وإرجاع العنصر المحذوف كنتيجة. كما أنه ينقص مؤشرات القائمة الناتجة لتعكس الحذف. 9.
- مجموعة كائن (مؤشر إنت، أوبجيكت أوبج) - هو تعيين الكائن 'أوبج' إلى قائمة استدعاء في 'الفهرس' المحدد. 10.
- قائمة القائمة الفرعية (إنت ستارت، إنت إند) - هو تضمين الكائنات من فهرس 'ستارت' إلى إندكس 'إند' في القائمة التي استندت إلى ميثود. الإدراج صيانة الأمر:
  • لا تحافظ المجموعة أبدا على ترتيب العناصر التي يتم إدراجها فيها، بينما تحتفظ القائمة بها. هناك استثناء لهذه القاعدة لينكدهاشسيت لأنه يحافظ على ترتيب الإدراج ولكن الآخر تعيين مثل هاشست و تريسيت يصنف العناصر قبل تخزينه. ونفس الشيء مع الأمثلة أدناه.

مجموعة

الإدخال: القط، دمية، التفاح. مخزنة على النحو التالي: أبل، القط، دمية.

قائمة الإدخال: القط، دمية، أبل.

مخزنة على النحو التالي: القط، دمية، التفاح.

وجود التكرارات:

  • مجموعة أبدا يسمح التكرارات في حين أن قائمة تسمح به. إذا كان يجب إضافة قيمة مكررة إلى قائمة ثم يتم الكتابة فوقه. انظر إلى عينات لتعيين وتكرار المكررة.

قائمة الإدخال: 10، 20، 20، 50.

مخزنة على النحو التالي: 10، 20، 20، 20، 50.

20، 50.

القيم الفارغة:

يمكن أن تحتوي المجموعة على قيمة فارغة واحدة فقط بينما يمكن أن تحتوي القائمة على أكثر من قيمة خالية ولا تقتصر على أي رقم.

  • تعيين الإدخال: نول، نول، رجل، الكلب، الطائرة.

مخزنة على النحو التالي: نول، الكلب، الرجل، الطائرة.

قائمة الإدخال: نول، نول، رجل، الكلب، طائرة.

مخزنة على النحو التالي: نول، نول، رجل، الكلب، طائرة.

استخدام التكرار و ليستيتيراتور:

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

  • وجود فئة ليغاسي:

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

  • التطبيقات:

عدد قليل من تطبيقات مجموعة هي هاشست، لينكدهاشسيت، و تريسيت. عدد قليل من تطبيقات قائمة تشمل أريليست و لينكدليست.

  • متى تستخدم مجموعة & قائمة؟

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

الاختلافات في شكل جدولي:

S. لا

الاختلافات في

مجموعة قائمة 1. طلب الإدراج
ويحافظ على ترتيب الإدراج. يبقى أول إدراج في المقام الأول وهلم جرا بغض النظر عن قيمتها. فإنه لا يحافظ على ترتيب الإدراج. 2. الطرق
يستخدم أساليب مثل إضافة ()، مسح ()، يحتوي على ()، إسيمبتي ()، إزالة () والحجم (). يستخدم أساليب مثل إضافة ()، أدال ()، الحصول على ()، لاستندكسوف ()، ليستيتيراتور () مع أو بدون معلمة، إزالة ()، تعيين ()، و سوبليست (). 3. التكرارات
لا يسمح أبدا بالتكرارات وفي حالة مثل هذه المظاهر، يتم استبدال القيمة. انها تسمح التكرارات. 4. قيم خالية
يمكن أن يكون لها قيمة فارغة واحدة فقط في الحد الأقصى. يمكن أن يكون لها أي عدد من القيم الفارغة. 5. استخدام إيتراتور () & ليستيتيراتور ()
يستخدم فقط أسلوب التكرار (). ويستخدم كل من التكرار () وكذلك ليستيتيراتور (). 6. وجود فئة تراث
لا توجد فئة قديمة. لديها فئة تراث تسمى ناقلات. 7. تطبيقات
قليل من تطبيقات واجهة مجموعة هي هاسيت، لينكدهاشسيت ومجموعة شجرة. عدد قليل من تطبيقات واجهة القائمة هي لينكليست و أريليست. الأمل، لقد أدرجنا كل فرق ممكن بين المجموعة والقائمة. إذا كنت تشعر أننا قد غاب عن شيء، يرجى إعلامنا.