Java---Stack

Concept

“栈”通常是指“后进后出”(LIFO)容器。有时栈也被称为叠加栈,因为最后“压入”栈的元素,第一个“弹出”栈。

当一个Stack被创建时,里面是没有任何东西的。

Stack继承Vector,拥有Vector所有的特点和行为,再加上一些额外的Stack行为。可以在Stack对象上执行Vector的操作。因为继承的作用使得Stack是一个Vector,因此所有可以对Vector执行的操作,都可以对Stack执行,例如elementAt()。

创建Stack

Stack<Integer> s = new Stack<Integer>();
Method
TypeMethodSignificance
booleanempty()判断栈是否为空
Epeek()查看栈顶元素 但是并不将它移出
Epop()移出栈顶元素,并将此对象作为返回值
Epush(E item)将一个对象压入堆栈顶部
intsearch(Object o)返回对象在堆栈中的位置,以 1 为基数
Example
class test{
    public static void main(String[] args){

        Stack<Integer> s = new Stack<Integer>();
        System.out.println(s.isEmpty());//true
        s.push(1);
        s.push(2);
        s.push(2);
        System.out.println(s.search(2));//1 
        System.out.println(s.peek());//2
        System.out.println(s);//[1, 2, 2]
        System.out.println(s.pop());//2
        System.out.println(s);//[1, 2]
    }
}

Stack并不要求数据具有唯一性,当Stack中存在多个相同的item时,调用search,只返回离栈顶最近的item与栈顶间的距离。这个距离为1基数,即如果查找的这个数是最后加入栈的,那么返回1。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值