在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("棧的大?。?quot; + myStack.size());
System.out.println("棧頂元素:" + myStack.peek());
System.out.println("彈出棧頂元素:" + myStack.pop());
}
}