使用ArrayList构造一个栈,可以存放int值我们先明白栈的属性。栈是先进后出的存储容器。
import java.util.*;
public class MyStack {
private ArrayList list = new ArrayList();
public boolean isEmpty() {
return list.isEmpty(); //ArrayList方法中的isEmpty方法可以检测是否为空,返回false或true
}
public int getSize() {
return list.size(); //size()可以返回ArrayList长度
}
public Object peek() { //读取栈顶的数据(最后存进的数据)
return list.get(getSize() - 1); //list.getSize(n)可以获取下标为n的数据
}
public Object pop(){ //删除栈顶的数据
Object o = list.get(getSize() - 1);
list.remove(getSize() - 1); //list.remove(n)可以删除下标为n的数据
return o;
}
public void push(Object o) { //
list.add(o);
}
public int search(Object o) {
return list.lastIndexOf(o);
}
public String toString() {
return "stack: " + list.toString();
}
}