2. 写MyStack类,实现栈功能,要求在类中使用ArrayList保存数据。写MyStackTest类对栈功能进行测试。
本节实训主要是对栈的操作,
对栈和队列操作已经在数据结构那个专题里面有了,
大家可以去看一下他们的区别和联系。
方法类:
package test05;
import java.util.ArrayList;
public class MyStack {
ArrayList<Object> arrayList;
public MyStack() {
arrayList=new ArrayList<Object>();
}
public void pushStack(Object x){
System.out.println("压入\t"+x);
arrayList.add(x);
}
public void popStack(){
if(arrayList.size()==0){
System.out.println("栈为空,无数据弹出");
}
else{
System.out.println("弹出\t"+arrayList.get(arrayList.size()-1));
arrayList.remove(arrayList.size()-1);
}
}
public void toStringStack(){
System.out.println("堆栈元素:");
for (Object i:arrayList){
System.out.println("\t"+i);
}
}
}
测试类:
package test05;
public class MyStackTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
MyStack stack=new MyStack();
stack.pushStack(1);
stack.pushStack("t");
stack.pushStack("2");
stack.toStringStack();
stack.popStack();
stack.popStack();
stack.popStack();
stack.popStack();
}
}
运行代码: