Java教程

Java 源码 - Stack 集合类

本文主要是介绍Java 源码 - Stack 集合类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

介绍

The Stack class represents a last-in-first-out stack of objects. It extends class Vector with five operations that allow a vector to be treated as a stack.

示例

public class Test {
  public static void main(String[] args) {
    Stack<String> stack = new Stack<String>();
    stack.push("gege");
    stack.push("fei");
    System.out.println(stack.pop() + stack.pop());
  }
}

结果:feigege

结构

源码

成员变量

/**
 * The array buffer into which the components of the Stack are stored.
 */
protected Object[] elementData;

构造方法

/**
 * Creates an empty Stack.
 */
public Stack() { }

成员方法

入栈

/**
 * Pushes an item onto the top of this stack.
 */
public E push(E item) {
  addElement(item);
  return item;
}

出栈

/**
 * Removes the object at the top of this stack and returns that
 * object as the value of this function.
 */
public synchronized E pop() {
  E obj;
  int len = size();
  obj = peek();
  removeElementAt(len - 1);
  return obj;
}

看栈顶

/**
 * Looks at the object at the top of this stack without removing it
 * from the stack.
 */
public synchronized E peek() {
  int len = size();
  if (len == 0)
    throw new EmptyStackException();
  return elementAt(len - 1);
}
这篇关于Java 源码 - Stack 集合类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!