java 集合之Stack
概要:
Stack是栈,特性是先进后出(FILO,First In Last Out)。Stack是继承于Vector(矢量队列),由于Vector是同数组实现的,Stack也是通过数组而非链表。
Stack和Collection关系如下:
基于Java8的源代码:
public class Stack<E> extends Vector<E> { 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; }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。