使用LinkedList完成一个堆栈MyStack
时间: 2024-04-21 07:05:36 浏览: 18
下面是使用LinkedList实现堆栈MyStack的示例代码:
```java
import java.util.LinkedList;
public class MyStack<T> {
private LinkedList<T> list = new LinkedList<>();
// 入栈
public void push(T t) {
list.addFirst(t);
}
// 出栈
public T pop() {
if (list.isEmpty()) {
throw new RuntimeException("stack is empty");
}
return list.removeFirst();
}
// 查看栈顶元素
public T peek() {
if (list.isEmpty()) {
throw new RuntimeException("stack is empty");
}
return list.getFirst();
}
// 判断栈是否为空
public boolean isEmpty() {
return list.isEmpty();
}
// 获取栈的大小
public int size() {
return list.size();
}
}
```
可以看到,这里使用了Java标准库中的LinkedList来实现堆栈,其中`push`方法将元素插入到链表的头部,`pop`方法从链表头部弹出元素,`peek`方法获取链表头部的元素但不弹出,`isEmpty`方法判断链表是否为空,`size`方法获取链表的大小。