使用List接口的具体实例(ArrayList或者LinkedList),构造一个栈对象MyStack
时间: 2024-05-15 07:12:44 浏览: 13
可以使用ArrayList实现一个栈对象MyStack,具体代码如下:
```java
import java.util.ArrayList;
public class MyStack<T> {
private ArrayList<T> stack;
public MyStack() {
stack = new ArrayList<T>();
}
public void push(T item) {
stack.add(item);
}
public T pop() {
if (stack.isEmpty())
throw new RuntimeException("Stack is empty");
return stack.remove(stack.size() - 1);
}
public T peek() {
if (stack.isEmpty())
throw new RuntimeException("Stack is empty");
return stack.get(stack.size() - 1);
}
public boolean isEmpty() {
return stack.isEmpty();
}
public int size() {
return stack.size();
}
}
```
这是一个泛型类,可以存储任意类型的数据。它有四个方法:push、pop、peek和isEmpty,用于入栈、出栈、查看栈顶元素和判断栈是否为空。其中,push和pop方法分别使用ArrayList的add和remove方法实现,peek方法使用ArrayList的get方法实现。isEmpty方法使用ArrayList的isEmpty方法实现,size方法使用ArrayList的size方法实现。