求助如何用LinkedList实现堆栈功能?各位高手这个题目我实在不会,只知道堆栈里的东西是先进出的

解决方案 »

  1.   

    import java.util.LinkedList;   
      
    /*  
     *利用LinkedList来实现堆栈  
     *LinkedList容器具有有续性,以及插入删除方便的特征  
     *  
     */  
    public class Stack<T>{   
           
        //建立一个链表保存数据   
        private LinkedList<T> stack;   
           
        public Stack(){   
               
            stack = new LinkedList<T>();   
        }   
           
        //入栈操作   
        public void push(T obj){   
               
            stack.addFirst(obj);   
        }   
           
        //获取栈顶元素   
        public T peek(){   
               
            //判断栈是否为空   
            if(!isEmpty()){   
                   
                return stack.getFirst();   
                   
            }else{   
                   
                return null;   
            }   
               
        }   
           
        //出栈操作   
        public T pop(){   
               
            //判断栈是否为空   
            if(!isEmpty()){   
                   
                return stack.removeFirst();   
                   
            }else{   
                   
                return null;   
            }   
               
        }   
           
        //判断栈是否为空   
        public boolean isEmpty(){   
               
            return stack.isEmpty();   
        }   
           
        //测试堆栈   
        public static void main(String[] args){   
               
            String[] list = "my name is beyondlife".split(" ");   
               
            Stack<String> stack = new Stack<String>();   
               
            for(String obj : list){   
                   
                stack.push(obj);   
            }   
               
            while(stack.peek() != null){   
                   
                System.out.print(stack.pop() + " ");   
            }   
        }   
    }