スタック(1)----スタックの実装(LinkedList実装)
1511 ワード
第4の実装スタックを補完する方法、LinkedList実装:
package com.matt.stack;
import java.util.*;
public class MyStack<AnyType> {
private LinkedList<AnyType> list = new LinkedList<AnyType>();
private int top;
public MyStack() {
clear();
}
public void clear() {
top = -1;
list.clear();
}
public AnyType push(AnyType value){
list.add(value);
top++;
return value;
}
public AnyType pop(){
if(top<0) throw new NoSuchElementException();
AnyType last = list.getLast();
list.remove(top);
top --;
return last;
}
public AnyType peek(){
return list.getLast();
}
public String toString(){
String toStr = "[";
for(int i=0;i<=top;i++){
if(i==top) toStr += list.get(i) + "]";
else toStr += list.get(i) + ",";
}
return toStr;
}
/**
* @param args
*/
public static void main(String[] args) {
MyStack<Integer> stack = new MyStack<Integer>();
//stack.peek();
stack.push(1);
stack.push(2);
stack.push(3);
System.out.println(stack);
stack.pop();
stack.pop();
stack.pop();
System.out.println(stack);
}
}