在Java中如何自定義Stack類

小樊
81
2024-09-23 21:48:38
欄目: 編程語言

在Java中,可以通過繼承java.util.Stack類或?qū)崿F(xiàn)java.util.Deque接口來自定義一個(gè)棧(Stack)類。這里我們給出兩種方法的示例:

方法一:繼承java.util.Stack

import java.util.Stack;

public class MyStack<T> extends Stack<T> {
    // 在這里添加自定義的方法和屬性
}

方法二:實(shí)現(xiàn)java.util.Deque接口

import java.util.ArrayDeque;
import java.util.Deque;

public class MyStack<T> implements Deque<T> {
    private ArrayDeque<T> deque = new ArrayDeque<>();

    // 實(shí)現(xiàn)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