好的,下面是使用泛型实现'pop()'方法的示例代码:

import java.util.EmptyStackException;

public class ArrayStack<T> {
    private static final int DEFAULT_CAPACITY = 10;
    private int top;              // 栈顶指针
    private Object[] stackArray;  // 存储元素的数组

    public ArrayStack() {
        stackArray = new Object[DEFAULT_CAPACITY];
        top = -1;
    }

    public boolean isEmpty() {
        return top == -1;
    }

    public void push(T element) {
        if (top == stackArray.length - 1) {
            expandCapacity();
        }
        stackArray[++top] = element;
    }

    public T pop() {
        if (isEmpty()) {
            throw new EmptyStackException();
        }
        return (T) stackArray[top--];
    }

    private void expandCapacity() {
        Object[] newStackArray = new Object[stackArray.length * 2];
        System.arraycopy(stackArray, 0, newStackArray, 0, stackArray.length);
        stackArray = newStackArray;
    }
}

在上述代码中,我们将'ArrayStack'类改为泛型类,并使用<T>来表示泛型类型。同时,将'stackArray'数组的类型改为'Object[]',在需要返回出栈元素时,使用类型转换'(T)'将其转换为'T'类型。

以下是一个使用示例:

public class Main {
    public static void main(String[] args) {
        ArrayStack<Integer> stack = new ArrayStack<>();

        stack.push(1);
        stack.push(2);
        stack.push(3);

        System.out.println(stack.pop());  // 输出 3
        System.out.println(stack.pop());  // 输出 2
        System.out.println(stack.pop());  // 输出 1
    }
}

在上述示例中,我们创建了一个泛型类型为'Integer'的'ArrayStack'对象,并依次将元素1、2、3入栈。然后通过连续调用'pop()'方法进行出栈操作,并打印出栈的元素。

希望这个示例能够帮助你理解如何使用泛型实现'pop()'方法。如果你有任何疑问,请随时提问。

Java 泛型实现栈出栈操作 (pop) 示例代码

原文地址: https://www.cveoy.top/t/topic/b5cX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录