"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > فئات المتجهات والمكدس

فئات المتجهات والمكدس

تم النشر بتاريخ 2024-07-29
تصفح:806

Vector هي فئة فرعية من AbstractList، وStack هي فئة فرعية من Vector في Java API. تم تقديم Java Collections Framework في Java 2. وقد تم دعم العديد من هياكل البيانات في وقت سابق، من بينها فئات Vector وStack. تمت إعادة تصميم هذه الفئات لتتناسب مع Java Collections Framework، ولكن تم الاحتفاظ بجميع أساليبها القديمة لـ
التوافق.

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

تعمل فئة Vector على توسيع فئة AbstractList. كما أن لديها أيضًا الأساليب المضمنة في فئة Vector الأصلية المحددة قبل Java 2، كما هو موضح في الشكل أدناه.

Image description

معظم الطرق في فئة Vector المدرجة في مخطط UML في الشكل أعلاه تشبه الطرق الموجودة في واجهة List. تم تقديم هذه الأساليب قبل Java Collections Framework. على سبيل المثال، addElement(Object element) هو نفس الأسلوب add(Object element)، باستثناء أن الأسلوب addElement متزامن. استخدم فئة ArrayList إذا لم تكن بحاجة إلى المزامنة. إنه يعمل بشكل أسرع بكثير من Vector.

يُرجع الأسلوب elements() التعداد. تم تقديم واجهة Enumeration قبل Java 2 وتم استبدالها بواجهة Iterator. يُستخدم المتجه على نطاق واسع في كود Java القديم لأنه كان تطبيق مصفوفة Java القابلة لتغيير الحجم قبل Java 2.

في Java Collections Framework، يتم تطبيق

Stack كامتداد لـ Vector، كما هو موضح في الشكل أدناه.

Image description

تم تقديم فئة

Stack قبل Java 2. تم استخدام الطرق الموضحة في الشكل أعلاه قبل Java 2. طريقة empty() هي نفس طريقة isEmpty (). تبحث الطريقة peek() عن العنصر الموجود أعلى المكدس دون إزالته. تقوم الطريقة pop() بإزالة العنصر العلوي من المكدس وإعادته. تضيف الطريقة push(Object element) العنصر المحدد إلى المكدس. تتحقق الطريقة search(Object element) مما إذا كان العنصر المحدد موجودًا في المكدس.

بيان الافراج تم نشر هذه المقالة على: https://dev.to/paulike/vector-and-stack-classes-k4?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3