Stack学习笔记

上一篇:Vector学习笔记

二、Stack

 

Stack 类表示后进先出(LIFO)的对象堆栈。它通过五个操作对类 Vector 进行了扩展 ,允许将向量视为堆栈。它提供了通常的 push pop 操作,以及取堆栈顶点的 peek 方法、测试堆栈是否为空的 empty 方法、在堆栈中查找项并确定到堆栈顶距离的 search 方法。

 

首次创建堆栈时,它不包含项。

Stack学习笔记

3.1、构造函数

 

public Stack()创建一个空堆栈。默认容量为10,同Vector一样,双倍扩容

 

Demo1

Stack stack=new Stack();

System.out.println("初始容量:"+stack.capacity());

for(int i=0;i<22;i++){

       stack.push(i);

}

System.out.println("扩容后容量:"+stack.capacity());

输出结果:

初始容量:10

扩容后容量:40

 

3.2、其他操作见API,比较简单

3.3Stack例子

import java.util.Stack;

public class StackExample {

  public static void main (String args[]) {

    Stack s = new Stack();

    s.push("Autumnal Tints");

    s.push("A Week on the Concord and Merrimack Rivers");

    s.push("The Maine Woods");

    // Check out what's next to read

    System.out.println("Next: " + s.peek());

    s.push("Civil Disobedience, Solitude and Life Without Principle");

    // Read a book

    System.out.println(s.pop());

    s.push("Walden");

    s.push("The Natural Man");

    // Find that other book

    int count = s.search("The Maine Woods");

    while (count != −1 && count > 1) {

      s.pop();

      count−;

    }

    // Read a book

    System.out.println(s.pop());

    // Anything left?

    System.out.println(s.empty());

  }

}

 

 

你可能感兴趣的:(stack)