الفرق بين التعداد و التكرار

Anonim

التعداد مقابل التكرار

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

ما هو التعداد؟

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

التعداد e = v1. عناصر()؛

بينما (هاسموريليمنتس ()) {

سيستيم. خارج. برينتلن (e. نيكستليمنت ())؛

}

يمكن أيضا استخدام عداد البيانات لتحديد تيار الإدخال إلى الكائنات سكنسينبوتستريم.

ما هو إيراتور؟

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

إيتيراتور i = v1. عناصر()؛

بينما (i. هاسنكست ()) {

سيستيم. خارج. برينتلن (e. نيكست ())؛

}

ما هو الفرق بين التعداد و إيتراتور؟

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