阅读量:0
在Java中,可以通过继承java.util.Stack
类或实现java.util.Deque
接口来自定义一个栈(Stack)类。这里我们给出两种方法的示例:
方法一:继承java.util.Stack
类
import java.util.Stack; public class MyStack<T> extends Stack<T> { // 在这里添加自定义的方法和属性 }
方法二:实现java.util.Deque
接口
import java.util.ArrayDeque; import java.util.Deque; public class MyStack<T> implements Deque<T> { private ArrayDeque<T> deque = new ArrayDeque<>(); // 实现Deque接口的方法 @Override public void push(T item) { deque.push(item); } @Override public T pop() { return deque.pop(); } @Override public T peek() { return deque.peek(); } @Override public boolean empty() { return deque.empty(); } @Override public int size() { return deque.size(); } // 在这里添加自定义的方法和属性 }
使用自定义栈类:
public class Main { public static void main(String[] args) { MyStack<Integer> myStack = new MyStack<>(); myStack.push(1); myStack.push(2); myStack.push(3); System.out.println("栈的大小:" + myStack.size()); System.out.println("栈顶元素:" + myStack.peek()); System.out.println("弹出栈顶元素:" + myStack.pop()); } }