ما هو Stack Class في Java وكيفية استخدامه؟



تعد فئة Stack في Java جزءًا من إطار عمل المجموعة الذي يبسط العمليات مثل push و pop وما إلى ذلك. تركز هذه المقالة على فئة المكدس مع الأمثلة.

كانت هياكل البيانات نعمة لعالم البرمجة لأنها تبسط البرمجة إلى حد كبير. تعتبر فئة Stack في Java جزءًا من التي تبسط عمليات مختلفة مثل الدفع والبوب ​​وما إلى ذلك. في هذه المقالة نستكشف هذا المفهوم بالتفصيل. سيتم استكشاف المؤشرات التالية في هذه المقالة:

هيا بنا نبدأ.





ما هي فئة Stack Class في Java؟

المكدس هو ملف هيكل البيانات الذي يلي LIFO (Last In First Out). تندرج Java Stack Class ضمن إطار عمل التسلسل الهرمي الأساسي للمجموعة حيث يمكنك تنفيذ العمليات الأساسية مثل push و pop وما إلى ذلك. نحن نعلم ذلكيتضمن إطار عمل مجموعة Java واجهات و الطبقات . الآن ، دعونا نلقي نظرة واضحة على كيفية ترتيب فئة المكدس في Java في التسلسل الهرمي لإطار عمل مجموعات Java.

التسلسل الهرمي - فئة Stack في Java - Edureka



الفرق بين التحميل الزائد والتجاوز

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

للمضي قدمًا ، دعنا نرى الطرق المختلفة لفئة Java Stack Class.

طرق تصنيف المكدس في جافا

في Java ، هناك 5 طرق أساسية لـ Stack Class.فيما يلي الطرق المتاحة لنا عندما نستخدم فئة المكدس في Java.



طرق وصف

فارغة()

للتحقق مما إذا كانت المكدس فارغة

إدفع()

ضع عنصرًا في أعلى المكدس

البوب ​​()

قم بإزالة الكائن من المكدس

نظرة خاطفة ()

ينظر إلى كائن المكدس دون إزالته

بحث()

يبحث عن عنصر في المكدس للحصول على الفهرس الخاص به

دعونا نفهم كل من هذه الطرق بمثال برمجي:

package Edureka import java.io. * import java.util. * public class StackMethods {// إضافة أو دفع عنصر في أعلى المكدس باطل ثابت push_method (Stack st، int n) {st.push (new Integer (n) ) System.out.println ('push (' + n + ')') System.out.println ('Current Stack:' + st)} // عرض عنصر أعلى المكدس باطل ثابت peek_method (Stack & ampampampltInteger & ampampgt st) { عدد صحيح = (عدد صحيح) st.peek () System.out.println ('Element on stack top:' + element)} // يبحث عن عنصر في المكدس static void search_method (Stack st، int element) {Integer pos = ( عدد صحيح) st.search (element) if (pos == -1) System.out.println ('العنصر غير موجود') else System.out.println ('العنصر موجود في الموضع' + pos)} // إزالة العنصر من أعلى المكدس pop_method باطل ثابت (Stack st) {System.out.print ('pop =') Integer n = (Integer) st.pop () System.out.println (n) System.out.println ( 'Remaining stack:' + st)} public static void main (String args []) {Stack st = new Stack () Sys tem.out.println ('حزمة فارغة:' + st) push_method (st، 4) push_method (st، 8) push_method (st، 9) peek_method (st) search_method (st، 2) search_method (st، 4) pop_method (st، 4) pop_method ( st) pop_method (st) pop_method (st) جرب {pop_method (st)} catch (EmptyStackException e) {System.out.println ('حزمة فارغة')}}}

انتاج:

كومة فارغة: []
دفع (4)
الكومة الحالية: [4]
دفع (8)
الكومة الحالية: [4 ، 8]
دفع (9)
الكومة الحالية: [4 ، 8 ، 9]
العنصر الموجود أعلى المكدس: 9
العنصر غير موجود
تم العثور على العنصر في الموضع 3
فرقعة = 9
المكدس المتبقي: [4 ، 8]
فرقعة = 8
المكدس المتبقي: [4]
فرقعة = 4
المكدس المتبقي: []
فرقعة = كومة فارغة

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

المضي قدمًا في Java Stack Class ، دعنا نلقي نظرة على العمليات المختلفة التي يمكنك تنفيذها أثناء تنفيذ فئة المكدس في Java.

عمليات Java Stack:

حجم المكدس:

package Edureka import java.util.EmptyStackException استيراد java.util.Stack public class StackOperations {public static void main (String [] args) {Stack stack = new Stack () stack.push ('1') stack.push ('2 ') stack.push (' 3 ') // تحقق مما إذا كان المكدس فارغًا System.out.println (' هل حزمة Java فارغة؟ '+ stack.isEmpty ()) // ابحث عن حجم Stack System.out. println ('حجم المكدس:' + stack.size ())}}

انتاج: هل حزمة Java Stack فارغة؟ خاطئة
حجم المكدس: 3

تكرار عناصر حزمة Java:

  • كرر عبر مكدس باستخدام مكرر ()
  • كرر عبر مكدس باستخدام Java 8 forEach ()
  • كرر عبر مكدس باستخدام listIterator () من أعلى إلى أسفل

لنبدأ في تكرار العناصر باستخدام مكرر ().

package Edureka import java.util.EmptyStackException import java.util.Iterator import java.util.Stack public class StackOperations {public static void main (String [] args) {Stack stack = new Stack () stack.push ('1') stack.push ('2') stack.push ('3') Iterator iterator = stack.iterator () while (iterator.hasNext ()) {قيمة الكائن = iterator.next () System.out.println (القيمة)} }}

انتاج:

واحد
2
3

وبالمثل ، يمكنك إجراء التكرار بطرق أخرى. راجع الكود أدناه لمزيد من الفهم:

package demo import java.util.EmptyStackException استيراد java.util.Iterator import java.util.ListIterator import java.util.Stack public class JavaOperators {public static void main (String [] args) {Stack stack = new Stack () stack. push ('1') stack.push ('2') stack.push ('3') System.out.println ('كرر مكدس باستخدام forEach () Method:') stack.forEach (n -> {System. out.println (n)}) ListIterator ListIterator = stack.listIterator (stack.size ()) System.out.println ('كرر عبر مكدس باستخدام listIterator () من أعلى إلى أسفل:') بينما (ListIterator.has Previous () ) {String str = ListIterator.previous () System.out.println (str)}}}

انتاج: كرر مكدس باستخدام طريقة forEach ():
واحد
2
3
كرر عبر مكدس باستخدام listIterator () من أعلى إلى أسفل:
3
2
واحد

تفسير: في الكود أعلاه ، يمكنك رؤية التكرار باستخدام طريقة forEach () ثم عكس نفس الشيء باستخدام listIterator () من أعلى إلى أسفل المكدس.

هذه نهاية مدونة 'Stack Class in Java'. آمل أن تكونوا واضحين في التعامل مع إطار عمل مجموعات Java ، فهو عبارة عن تسلسل هرمي إلى جانب أمثلة أكواد فئة Java Stack. هل تقرأ مدونتي التاليةعلى حيث أدرجت أهم 75 سؤالًا وأجوبة للمقابلة والتي ستساعدك على التمييز في عملية المقابلة.

الآن بعد أن فهمت مجموعات Java ، تحقق من ملف من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. تم تصميم دورة تدريب وشهادة Java J2EE و SOA من Edureka للطلاب والمهنيين الذين يرغبون في أن يصبحوا مطوري Java. تم تصميم الدورة التدريبية لمنحك السبق في برمجة Java وتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد من أطر Java مثل Hibernate & Spring.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات في مدونة 'Stack class in Java' وسنعاود الاتصال بك في أقرب وقت ممكن.