温馨提示×

在Java中如何自定义Stack类

小樊
81
2024-09-23 21:48:38
栏目: 编程语言

在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());
    }
}

0