java实现一个以链表做存储的栈类型例子代码
时间: 2024-05-12 14:18:31 浏览: 9
好的,请查看以下代码:
```
public class LinkedListStack<T> {
private Node<T> firstNode = null;
public void push(T item) {
Node<T> newNode = new Node<>(item);
if (firstNode == null) {
firstNode = newNode;
} else {
newNode.nextNode = firstNode;
firstNode = newNode;
}
}
public T pop() {
if (isEmpty()) {
return null;
}
T item = firstNode.item;
firstNode = firstNode.nextNode;
return item;
}
public boolean isEmpty() {
return firstNode == null;
}
private static class Node<E> {
E item;
Node<E> nextNode;
public Node(E item) {
this.item = item;
}
}
}
```
这是一个泛型类,可以存储任何类型的元素。它的 push() 方法可以将一个元素推入栈中,pop() 方法可以将栈顶的元素弹出,isEmpty() 方法可以判断栈是否为空。这个栈是基于单向链表实现的,每个节点都包含了一个元素和指向下一个节点的引用。