java集合 stack_Java集合系列之Stack

Java集合系列之Stack

Stack是先进后出的栈结构,并不直接实现具体的逻辑,而是通过继承Vector类,调用Vector类的方法实现。

public class Stack extends Vector

核心方法

Stack类的代码非常简单,其有3个核心方法:push,pop,peek。

push

public E push(E item) {

addElement(item);

return item;

}

可以看到push方法直接调用Vector的addElement方法将元素插入数组尾部

pop

public synchronized E pop() {

E obj;

int len = size();

obj = peek();

removeElementAt(len - 1);

return obj;

}

pop方法调用Vector的removeElementAt方法,删除了一个元素。要注意的是,其删除的是数组最后一个元素,而不是第一个元素。

peek

public synchronized E peek() {

int len = size();

if (len == 0)

throw new EmptyStackException();

return elementAt(len - 1);

}

peek方法直接返回列表最后一个元素。

总结

Stack方法代码真的是非常简单,其利用Vector实现了一个线程安全的栈结构。总的来说,有以下特点:

底层采用Vector实现,因此其也是采用数组实现,也是线程安全的。

先进后出的栈结构

更多Java资料,文章,公号《Java路》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值