من Stack إلى Deque و ArrayDeque
استخدم واجهة Deque مع ArrayDeque بدلاً من فئة Stack القديمة.
مقارنة الكود
✕ Legacy Stack
Stack<String> stack = new Stack<>();
stack.push("task");
String next = stack.pop();
✓ Deque API
Deque<String> stack = new ArrayDeque<>();
stack.push("task");
String next = stack.pop();
هل ترى مشكلة في هذا الكود؟ أخبرنا.
لماذا يتفوق الأسلوب الحديث
تجريد أفضل
تمثّل Deque صراحةً عمليات المكدس والطابور معاً.
تكلفة إضافية أقل
يتجنب ArrayDeque التزامن القديم في Vector.
مرونة أكبر
تدعم الواجهة نفسها خوارزميات LIFO و FIFO.
الأسلوب القديم
Stack
الأسلوب الحديث
Deque باستخدام ArrayDeque
منذ JDK
6
الصعوبة
مبتدئ
دعم JDK
من Stack إلى Deque و ArrayDeque
متاح
متاح منذ JDK 6 (ديسمبر 2006)
كيف يعمل
ترث Stack من فئة Vector المتزامنة القديمة. تمثّل Deque عمليات المكدس مباشرةً، وArrayDeque هو التطبيق العام المفضّل لأعمال LIFO داخل الذاكرة.
توثيق ذو صلة
إثبات