คลาสจาวาสแต็ค
สแต็คเป็น subclass ของเวกเตอร์ซึ่งดำเนินกอง LIFO มาตรฐาน
สแต็คเพียงกำหนดสร้างเริ่มต้นในการสร้างสแต็คที่ว่างเปล่า นอกเหนือไปจากสแต็ครวมถึงวิธีการทั้งหมดที่กำหนดโดยเวกเตอร์นอกจากนี้ยังกำหนดบางส่วนของวิธีการของพวกเขา
Stack()
นอกเหนือไปจากวิธีการทั้งหมดที่กำหนดโดยเวกเตอร์และเขากำหนดวิธีการ:
เลขที่ | วิธีการรายละเอียด |
---|---|
1 | boolean ว่าง () เพื่อทดสอบว่าสแต็คเป็นที่ว่างเปล่า |
2 | มองวัตถุ () ดูด้านบนของสแต็คของวัตถุ แต่ไม่ได้ลบออกจากสแต็ค |
3 | วัตถุผุด () ลบด้านบนของวัตถุสแต็คและเป็นค่าของฟังก์ชั่นนี้จะส่งกลับวัตถุ |
4 | ดันวัตถุ (องค์ประกอบ Object) ผลักดันให้รายการยังด้านบนของสแต็ค |
5 | ค้นหา int (องค์ประกอบ Object) ผลตอบแทนที่ได้ตำแหน่งของวัตถุในกองที่ 1 เป็นฐาน |
ตัวอย่าง
โปรแกรมต่อไปนี้แสดงให้เห็นถึงคอลเลกชันนี้สนับสนุนหลายวิธี
import java.util.*; public class StackDemo { static void showpush(Stack st, int a) { st.push(new Integer(a)); System.out.println("push(" + a + ")"); System.out.println("stack: " + st); } static void showpop(Stack st) { System.out.print("pop -> "); Integer a = (Integer) st.pop(); System.out.println(a); System.out.println("stack: " + st); } public static void main(String args[]) { Stack st = new Stack(); System.out.println("stack: " + st); showpush(st, 42); showpush(st, 66); showpush(st, 99); showpop(st); showpop(st); showpop(st); try { showpop(st); } catch (EmptyStackException e) { System.out.println("empty stack"); } } }
ตัวอย่างข้างต้นรวบรวมผลมีดังนี้
stack: [ ] push(42) stack: [42] push(66) stack: [42, 66] push(99) stack: [42, 66, 99] pop -> 99 stack: [42, 66] pop -> 66 stack: [42] pop -> 42 stack: [ ] pop -> empty stack