软件编程
位置:首页>> 软件编程>> java编程>> java8 集合之Stack详解及实例

java8 集合之Stack详解及实例

作者:lqh  发布时间:2023-08-02 16:04:07 

标签:java,Stack

java  集合之Stack

概要:

Stack是栈,特性是先进后出(FILO,First In Last Out)。Stack是继承于Vector(矢量队列),由于Vector是同数组实现的,Stack也是通过数组而非链表。

Stack和Collection关系如下:

java8 集合之Stack详解及实例

基于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;
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com