用java.util.*的LinkedList实现stack

发表于:2007-06-22来源:作者:点击数: 标签:
java 1.2以后没有提供stack的类,而123在好多的应用中都会使用到,在java1.0/java1.1中的stack实现于Vector,而Vector中有setElementAt() getElementAt() removeElementAt()等方法,我们知道stack定义为是只能在一端操作的线性表, 而Vector实现方法和stack的

   

    java1.2以后没有提供stack的类,而123在好多的应用中都会使用到,在java1.0/java1.1中的stack实现于Vector,而Vector中有setElementAt() getElementAt() removeElementAt()等方法,我们知道stack定义为是只能在一端操作的线性表,

而Vector实现方法和stack的定义有冲突。java1.2以后的包就没有提供stack是实现的,大家要用到stack时可以用LinkedList里的方法来实现,现在给出我的实现,大家可能一起学习参考

import java.util.*;

class MyStack
{
 LinkedList ll =new LinkedList();
 public void push(Object o)
 {
  ll.addFirst(o);
 }
 public Object pop()
 {
  return ll.removeFirst();
 }
 public Object peek()
 {
  return ll.getFirst();
 }
 public boolean empty()
 {
  return ll.isEmpty();
 }

 public static void main(String []args)
 {
  MyStack ms=new MyStack();
  ms.push("apple");
  ms.push("banana");
  ms.push("pear");

  System.out.println(ms.pop());
  System.out.println(ms.empty());
 }
}

    在以后开发程序时用到stack可以加入MyStack类,也可以在扩充一下功能,如return stack中有多少个元素,等等。

原文转自:http://www.ltesting.net