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