java的stack用法
当前位置:以往代写 > JAVA 教程 >java的stack用法
2019-06-14

java的stack用法

java的stack用法

Stack有时也可以称为“后入先出”(LIFO)荟萃。换言之,我们在仓库里最后“压入”的对象将是今后第一个“弹出”的。和其他所有Java荟萃一样,我们压入和弹出的都是“工具”,所以必需对本身弹出的对象举办“造型”。
一种很少见的做法是拒绝利用Vector作为一个Stack的根基组成元素,而是从Vector里“担任”一个Stack。这样一来,它就拥有了一个Vector的所有特征及行为,别的加上一些特另外Stack行为。很难判定出设计者到底是明晰想这样做,照旧属于一种固有的设计。
下面是一个简朴的仓库示例,它能读入数组的每一行,同时将其作为字串压入仓库。
 

//: Stacks.java
// Demonstration of Stack Class
import java.util.*;

public class Stacks {
  static String[] months = { 
    "January", "February", "March", "April",
    "May", "June", "July", "August", "September",
    "October", "November", "December" };
  public static void main(String[] args) {
    Stack stk = new Stack();
    for(int i = 0; i < months.length; i++)
      stk.push(months[i] + " ");
    System.out.println("stk = " + stk);
    // Treating a stack as a Vector:
    stk.addElement("The last line");
    System.out.println(
      "element 5 = " + stk.elementAt(5));
    System.out.println("popping elements:");
    while(!stk.empty())
      System.out.println(stk.pop());
  }
} ///:~

months数组的每一行都通过push()担任进入仓库,稍后用pop()从仓库的顶部将其取出。要声明的一点是,Vector操纵亦可针对Stack工具举办。这大概是由担任的特质抉择的——Stack“属于”一种Vector。因此,能对Vector举办的操纵亦可针对Stack举办,譬喻elementAt()要领。

    关键字:

在线提交作业