盤點Java基礎中的Stack類及其常用方法
大家好,我是Java進階者!
一、Stack類
1.Stack是Vector的一個子類,它實現標準的后進先出堆棧。Stack只定義了創建空堆棧的默認構造方法。
- Stack()
2.Stack類里面主要實現的有以下的幾個方法:
(1)boolean empty( )方法是判斷堆棧是否為空。
(2)Object peek( )方法是返回棧頂端的元素,但不從堆棧中移除它。
(3)Object pop( )方法是移除堆棧頂部的對象,并作為此函數的值返回該對象。
(4)Object push (Object element)方法是把元素壓入棧。
(5)int search(Object element)方法是返回對象在堆棧中的位置,它是以1為基數。
二、Stack類boolean empty()方法
1.boolean empty()方法是判斷堆棧是否為空,就需要有一個變量來計算當前棧的長度,若變量的值為0,說明這個棧是空的。
2.例子的實現:
- import java.util.Stack;
- public class T7 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- //定義一個String泛型的Stack
- Stack<String> stack = new Stack<String>();
- //判斷新建的棧是否為空
- boolean flag=stack.empty();
- if(flag){
- System.out.println("新建的棧是為空");
- }else{
- System.out.println("新建的棧是不為空,它的長度是:"+stack.size());
- }
- }
- }
運行的結果如下所示:
二、Stack類Object peek()方法
1.Object peek( )方法是返回棧頂端的元素,對堆棧中本身不做任何的改動。若棧里有元素就返回最頂端的元素。
2.例子的實現
- import java.util.Stack;
- public class T8 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- //定義一個String泛型的Stack
- Stack<String> stack = new Stack<String>();
- //把元素壓入棧中
- stack.push("Java");
- stack.push("Python");
- stack.push("PHP");
- stack.push("軟件測試");
- stack.push("軟件工程");
- //返回棧頂端的元素,但不從堆棧中移除它
- String topE=stack.peek();
- System.out.println("返回堆棧中的棧頂元素為 : "+topE);
- }
- }
運行的結果如下所示:
三、Stack類Object pop()方法
1.Object pop()方法移除堆棧頂部的對象,并作為此函數的值返回該對象。
2.例子的實現
- import java.util.Stack;
- public class T8 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- //定義一個String泛型的Stack
- Stack<String> stack = new Stack<String>();
- //把元素壓入棧中
- stack.push("Java");
- stack.push("Python");
- stack.push("PHP");
- stack.push("軟件測試");
- stack.push("軟件工程");
- System.out.println("堆棧中的元素有:"+stack);
- //移除堆棧頂部的元素,但不從堆棧中移除它
- String remove=stack.pop();
- System.out.println("移除堆棧頂部的元素有:"+remove);
- System.out.println("移除后堆棧中的元素有:"+stack);
- }
- }
運行的結果如下所示:
四、Stack類Object push (Object element)方法
1.push(Object element)方法把入棧的元素添加到數組的末尾,數組的長度就加1。
2.例子的實現
- import java.util.Stack;
- public class T9 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- //定義一個Integer泛型的Stack
- Stack<Integer> stack = new Stack<Integer>();
- //把元素壓入棧中
- stack.push(10);
- stack.push(20);
- stack.push(30);
- stack.push(40);
- System.out.println("堆棧中的元素有:"+stack);
- }
- }
運行的結果如下所示:
五、Stack類int search(Object element)方法
1.int search(Object element)方法是返回對象在堆棧中的位置,它是以1為基數。
2.例子的實現
- import java.util.Stack;
- public class T9 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- //定義一個Integer泛型的Stack
- Stack<Integer> stack = new Stack<Integer>();
- //把元素壓入棧中
- stack.push(10);
- stack.push(20);
- stack.push(30);
- stack.push(40);
- System.out.println("堆棧中的元素有:"+stack);
- //返回對象在堆棧中的位置,它是以1為基數
- int find=stack.search(20);
- System.out.println("返回對象在堆棧中的位置:"+find);
- }
- }
運行的結果如下所示:
六、總結
本文主要介紹了Stack類、Stack類的常用方法,例如boolean empty()方法、Object peek()方法、Object pop()方法、Object push (Object element)方法、int search(Object element)方法。Stack是Vector的一個子類,它實現標準的后進先出堆棧。empty()方法判斷堆棧是否為空、peek()方法返回棧頂端的元素,對堆棧中本身不做任何的改動、pop()方法移除堆棧頂部的對象、push()方法把元素壓入棧中、search()方法是返回對象在堆棧中的位置,它是以1為基數。通過本文的學習,希望對你有所幫助!
本文轉載自微信公眾號「Java進階學習交流」,可以通過以下二維碼關注。轉載本文請聯系Java進階學習交流公眾號。