Java学习总结:56(Stack子类)

Stack子类

Stack表示栈操作,栈也是一种动态对象数组,采用的是一种先进后出的数据结构形式,即在栈中最早保存的数据最后才会取出,而最后保存的数据可以最先取出。Stack类的定义如下:

public class Stack<E>extends Vector<E>

由上我们可以发现Stack类属于Vector的子类,但是在进行Stack类操作时不会使用Vector类定义的方法,主要使用Stack自己定义的方法。Stack类的常用方法如下:

No.方法类型描述
1public E public(E item)普通数据入栈
2public E pop()普通数据出栈,如果栈中没有数据,则调用此方法会抛出空栈异常(EmptyStackException)

例:观察栈的操作

package Project.Study.Stack;

import java.util.Stack;

public class Test1 {
    public static void main(String[]args){
        Stack<String>all = new Stack<>();
        all.push("!!!");
        all.push("World ");
        all.push("Hello ");
        System.out.print(all.pop());
        System.out.print(all.pop());
        System.out.println(all.pop());
        System.out.println(all.pop());//EmptyStackException
    }
}
//结果:
//Hello World !!!
//Exception in thread "main" java.util.EmptyStackException
//	at java.base/java.util.Stack.peek(Stack.java:102)
//	at java.base/java.util.Stack.pop(Stack.java:84)
//	at Project.Study.Stack.Test1.main(Test1.java:14)

由上程序我们可以看到,当栈中没有数据时,再进行出栈操作则将会抛出"EmptyStackException"异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值