Stack Class ใน Java คืออะไรและจะใช้งานอย่างไร?



คลาสสแต็กใน Java เป็นส่วนหนึ่งของเฟรมเวิร์กการรวบรวมที่ช่วยลดความยุ่งยากในการดำเนินการเช่นพุชป๊อป ฯลฯ บทความนี้เน้นที่คลาสสแต็กพร้อมตัวอย่าง

โครงสร้างข้อมูลเป็นประโยชน์ต่อโลกแห่งการเขียนโปรแกรมเนื่องจากทำให้การเขียนโปรแกรมง่ายขึ้นในระดับที่ดี คลาส Stack ใน Java เป็นส่วนหนึ่งของ ที่ช่วยลดความยุ่งยากในการดำเนินการต่างๆเช่น push, pop เป็นต้นในบทความนี้เราจะสำรวจแนวคิดนี้โดยละเอียด คำแนะนำต่อไปนี้จะได้รับการสำรวจในบทความนี้:

มาเริ่มกันเลย.





Stack Class ใน Java คืออะไร?

สแต็กคือไฟล์ โครงสร้างข้อมูล ซึ่งเป็นไปตาม LIFO (Last In First Out) Java Stack Class อยู่ภายใต้ Collection Hierarchy Framework พื้นฐานซึ่งคุณสามารถดำเนินการขั้นพื้นฐานเช่น push, pop เป็นต้นเราทราบดีว่ากรอบการรวบรวม Java ประกอบด้วย อินเทอร์เฟซ และ ชั้นเรียน . ตอนนี้เรามาดูกันอย่างชัดเจนว่าคลาสสแต็กใน Java จัดเรียงในลำดับชั้นเฟรมเวิร์กคอลเลกชัน Java อย่างไร

ลำดับชั้น - คลาสสแต็กใน Java - Edureka



สตริงแยกวิเคราะห์ java จนถึงปัจจุบัน

ในลำดับชั้นด้านบนกล่องสีน้ำเงินหมายถึงอินเทอร์เฟซที่แตกต่างกันและกล่องสีเหลืองกำหนดคลาส สแต็กใน Java ขยายคลาสเวกเตอร์ซึ่งนำไปใช้เพิ่มเติม อินเทอร์เฟซรายการ . เมื่อใดก็ตามที่คุณสร้าง Stack ในตอนแรกจะไม่มีรายการใดเลยนั่นคือ Stack ว่างเปล่า

ต่อไปเรามาดูวิธีการต่างๆของ Java Stack Class

วิธีการของ Stack Class ใน Java

ใน Java ส่วนใหญ่มี Stack Class 5 วิธีต่อไปนี้เป็นวิธีการที่เราต้องการเมื่อเราใช้สแต็กคลาสใน 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 & ampampampgt st) { องค์ประกอบจำนวนเต็ม = (จำนวนเต็ม) st.peek () System.out.println ('Element on stack top:' + element)} // ค้นหาองค์ประกอบในสแต็กที่เป็นโมฆะแบบคงที่ search_method (Stack st, int element) {Integer pos = ( จำนวนเต็ม) st.search (element) if (pos == -1) System.out.println ('Element not found') else System.out.println ('Element is found at position' + pos)} // ลบองค์ประกอบ จากด้านบนของสแต็คโมฆะแบบคงที่ pop_method (Stack st) {System.out.print ('pop =') จำนวนเต็ม n = (จำนวนเต็ม) st.pop () System.out.println (n) System.out.println ( 'สแต็คที่เหลือ:' + st)} โมฆะแบบคงที่สาธารณะ 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) pop_method (st) pop_method (st) ลองใช้ {pop_method (st)} catch (EmptyStackException e) {System.out.println ('empty stack')}}}

เอาท์พุต:

สแต็กว่าง: []
ดัน (4)
กองปัจจุบัน: [4]
ดัน (8)
กองปัจจุบัน: [4, 8]
ดัน (9)
กองปัจจุบัน: [4, 8, 9]
องค์ประกอบบนกองซ้อน: 9
ไม่พบองค์ประกอบ
พบองค์ประกอบที่ตำแหน่ง 3
ป๊อป = 9
กองที่เหลือ: [4, 8]
ป๊อป = 8
กองที่เหลือ: [4]
ป๊อป = 4
กองที่เหลือ: []
ป๊อป = กองว่าง

คำอธิบาย: ในข้างต้น ฉันได้พิมพ์สแต็กเปล่าเป็นครั้งแรกและเพิ่มองค์ประกอบบางอย่างโดยใช้วิธีการกด เมื่อองค์ประกอบมีอยู่ในสแต็กฉันได้แสดงองค์ประกอบที่ด้านบนของสแต็กโดยใช้วิธี Peek หลังจากนั้นฉันได้ทำการค้นหาโดยใช้วิธีการค้นหาและในที่สุดก็ลบองค์ประกอบในคลาส Java Stack โดยใช้เมธอด Pop

ก้าวไปข้างหน้าด้วย Java Stack Class มาดูการดำเนินการต่างๆที่คุณสามารถทำได้ในขณะที่ใช้สแต็กคลาสใน Java

การดำเนินการ Java Stack:

ขนาดของกอง:

package Edureka import java.util.EmptyStackException import java.util.Stack คลาสสาธารณะ StackOperations {public static void main (String [] args) {Stack stack = new Stack () stack.push ('1') stack.push ('2 ') stack.push (' 3 ') // ตรวจสอบว่า Stack ว่างเปล่า System.out.println (' Java Stack ว่างหรือไม่ '+ stack.isEmpty ()) // ค้นหาขนาดของ Stack System.out println ('Size of Stack:' + stack.size ())}}

เอาท์พุต: Java Stack ว่างเปล่า? เท็จ
ขนาดกอง: 3

ทำซ้ำองค์ประกอบของ Java Stack:

  • วนซ้ำบนสแต็คโดยใช้ตัววนซ้ำ ()
  • วนซ้ำบน Stack โดยใช้ Java 8 forEach ()
  • วนซ้ำทับซ้อนโดยใช้ listIterator () จากบนลงล่าง

มาเริ่มการวนซ้ำองค์ประกอบโดยใช้ iterator ()

package Edureka import java.util.EmptyStackException import java.util.Iterator import java.util.Stack คลาสสาธารณะ 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 ()) {Object value = iterator.next () System.out.println (value)} }}

เอาท์พุต:

หนึ่ง
2
3

ในทำนองเดียวกันคุณสามารถทำการวนซ้ำโดยวิธีอื่นได้ อ้างอิงโค้ดด้านล่างเพื่อความเข้าใจเพิ่มเติม:

นำเข้าการสาธิตแพคเกจ java.util.EmptyStackException import 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 ('Iterate over a Stack โดยใช้ listIterator () จากบนลงล่าง:') ในขณะที่ (ListIterator.hasPrevious () ) {สตริง str = ListIterator.previous () System.out.println (str)}}}

เอาท์พุต: วนซ้ำสแต็กโดยใช้ forEach () วิธีการ:
หนึ่ง
2
3
วนซ้ำทับซ้อนโดยใช้ listIterator () จากบนลงล่าง:
3
2
หนึ่ง

__init__ หลาม

คำอธิบาย: ในโค้ดด้านบนคุณสามารถดูการวนซ้ำโดยใช้ forEach () Method จากนั้นย้อนกลับโดยใช้ listIterator () จากบนลงล่างของสแต็ก

นี่คือจุดสิ้นสุดของบล็อก“ Stack Class in Java” ฉันหวังว่าพวกคุณจะเข้าใจอย่างชัดเจนกับ Java collection framework ซึ่งเป็นลำดับชั้นพร้อมกับโค้ดตัวอย่างคลาส Java Stack อ่านบล็อกถัดไปของฉันบน ที่ฉันได้ระบุคำถามและคำตอบสัมภาษณ์ 75 อันดับแรกซึ่งจะช่วยให้คุณแยกส่วนในกระบวนการสัมภาษณ์

เมื่อคุณเข้าใจ Java Collections แล้วให้ตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก หลักสูตรการฝึกอบรมและการรับรอง Java J2EE และ SOA ของ Edureka ออกแบบมาสำหรับนักเรียนและผู้เชี่ยวชาญที่ต้องการเป็น Java Developer หลักสูตรนี้ออกแบบมาเพื่อให้คุณเริ่มต้นการเขียนโปรแกรม Java และฝึกอบรมแนวคิด Java ทั้งหลักและขั้นสูงพร้อมกับเฟรมเวิร์ก Java ต่างๆเช่น Hibernate & Spring

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบล็อก 'Stack class in Java' และเราจะติดต่อกลับโดยเร็วที่สุด