盘点Java基础中的Stack类及其常用方法
后台回复“Java”即可获赠Java学习资料
大家好,我是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泛型的StackStack<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泛型的StackStack<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泛型的StackStack<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泛型的StackStack<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泛型的StackStack<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为基数。通过本文的学习,希望对你有所帮助!
------------------- End -------------------
往期精彩文章推荐:

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Java学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行
