- Java 编程示例
- 示例 - 首页
- 示例 - 环境
- 示例 - 字符串
- 示例 - 数组
- 示例 - 日期和时间
- 示例 - 方法
- 示例 - 文件
- 示例 - 目录
- 示例 - 异常
- 示例 - 数据结构
- 示例 - 集合
- 示例 - 网络
- 示例 - 线程
- 示例 - 小程序
- 示例 - 简单 GUI
- 示例 - JDBC
- 示例 - 正则表达式
- 示例 - Apache PDF Box
- 示例 - Apache POI PPT
- 示例 - Apache POI Excel
- 示例 - Apache POI Word
- 示例 - OpenCV
- 示例 - Apache Tika
- 示例 - iText
- Java 教程
- Java - 教程
- 有用的 Java 资源
- Java - 快速指南
- Java - 有用资源
如何在 Java 中实现栈
问题描述
如何实现栈?
解决方案
以下示例展示了如何通过创建用于输入元素的用户自定义 push() 方法和用于从栈中检索元素的 pop() 方法来实现栈。
public class MyStack {
private int maxSize;
private long[] stackArray;
private int top;
public MyStack(int s) {
maxSize = s;
stackArray = new long[maxSize];
top = -1;
}
public void push(long j) {
stackArray[++top] = j;
}
public long pop() {
return stackArray[top--];
}
public long peek() {
return stackArray[top];
}
public boolean isEmpty() {
return (top == -1);
}
public boolean isFull() {
return (top == maxSize - 1);
}
public static void main(String[] args) {
MyStack theStack = new MyStack(10);
theStack.push(10);
theStack.push(20);
theStack.push(30);
theStack.push(40);
theStack.push(50);
while (!theStack.isEmpty()) {
long value = theStack.pop();
System.out.print(value);
System.out.print(" ");
}
System.out.println("");
}
}
结果
以上代码示例将产生以下结果。
50 40 30 20 10
以下又一个样本可通过创建用于输入元素的用户自定义 push() 方法和用于从栈中检索元素的 pop() 方法来实现栈。
import java.util.*;
public class Demo {
static void showpush(Stack stack1, int a) {
stack1.push(new Integer(a));
System.out.println("push(" + a + ")");
System.out.println("stack: " + stack1);
}
static void showpop(Stack stack1) {
Integer a = (Integer) stack1.pop();
System.out.println(a);
System.out.println("stack: " + stack1);
}
public static void main(String args[]) {
Stack stack1 = new Stack();
System.out.println("stack: " + stack1);
showpush(stack1, 40);
showpush(stack1, 50);
showpush(stack1, 60);
showpop(stack1);
showpop(stack1);
showpop(stack1);
try {
showpop(stack1);
} catch (EmptyStackException e) {
System.out.println("it Is Empty Stack");
}
}
}
以上代码示例将产生以下结果。
stack: [] push(40) stack: [40] push(50) stack: [40, 50] push(60) stack: [40, 50, 60] 60 stack: [40, 50] 50 stack: [40] 40 stack: [] it Is Empty Stack
java_data_structure.htm
广告