千家信息网

在Java中如何使用数组实现堆栈

发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,这篇文章将为大家详细讲解有关在Java中如何使用数组实现堆栈,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。栈的要求是:1) 栈有一个构造函数,它接受一个数字来初始化
千家信息网最后更新 2025年11月14日在Java中如何使用数组实现堆栈

这篇文章将为大家详细讲解有关在Java中如何使用数组实现堆栈,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

栈的要求是:

1) 栈有一个构造函数,它接受一个数字来初始化它的大小,

2) 栈可以容纳任何类型的元素,

3) 栈有一个 push() 和一个 pop() 方法。

一个简单的堆栈实现

public class Stack {        private E[] arr = null;        private int CAP;        private int top = -1;        private int size = 0;         @SuppressWarnings("unchecked")        public Stack(int cap) {                this.CAP = cap;                this.arr = (E[]) new Object[cap];        }         public E pop() {                if(this.size == 0){                        return null;                }                 this.size--;                E result = this.arr[top];                this.arr[top] = null;//prevent memory leaking                this.top--;                 return result;        }         public boolean push(E e) {                if (isFull())                        return false;                 this.size++;                this.arr[++top] = e;                 return true;        }         public boolean isFull() {                if (this.size == this.CAP)                        return false;                return true;        }         public String toString() {                if(this.size==0){                        return null;                }                 StringBuilder sb = new StringBuilder();                for(int i=0; i stack = new Stack(11);                stack.push("hello");                stack.push("world");                 System.out.println(stack);                 stack.pop();                System.out.println(stack);                 stack.pop();                System.out.println(stack);        }}

输出:

hello, worldhellonull

这个例子在"Effective Java"中使用了两次。首先,堆栈示例用于说明内存泄漏。其次,这个例子是用来说明我们什么时候可以抑制未经检查的警告。

关于"在Java中如何使用数组实现堆栈"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0