java8 集合之Stack详解及实例
发布时间:2020-08-31 00:16:18
来源:脚本之家
阅读:108
作者:lqh
java 集合之Stack
概要:
Stack是栈,特性是先进后出(FILO,First In Last Out)。Stack是继承于Vector(矢量队列),由于Vector是同数组实现的,Stack也是通过数组而非链表。
Stack和Collection关系如下:
基于Java8的源代码:
public class Stack extends Vector {
public Stack() {//创建空栈
}
public E push(E item) {//入栈
addElement(item);
return item;
}
//出栈
public synchronized E pop() {
E obj;
int len = size();
obj = peek();
removeElementAt(len - 1);
return obj;
}
//返回栈顶元素,但并不出栈
public synchronized E peek() {
int len = size();
if (len == 0)
throw new EmptyStackException();
return elementAt(len - 1);
}
//判断栈是否为空
public boolean empty() {
return size() == 0;
}
//查找元素并返回栈深
public synchronized int search(Object o) {
int i = lastIndexOf(o);
if (i >= 0) {
return size() - i;
}
return -1;
}
//序列版本号
private static final long serialVersionUID = 1224463164541339165L;
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!