java如何创建一个栈

栈(Stack)是限定只能在一段进行插入和删除操作的线性表。进行插入和删除操作的一端称为“栈顶”(top),另一端称为“栈底”(bottom)。栈的插入操作称为“入栈”(push),栈的删除 操作称为“出栈”(pop)。栈具有后进先出(LIFO),先进后出(FILO)的特性。

操作方法

  • 01

    栈是Vector的一个子类,它实现了一个标准的后进先出的栈。堆栈只定义了默认构造函数,用来创建一个空栈。 堆栈除了包括由Vector定义的所有方法,也定义了自己的一些方法。除了由Vector定义的所有方法,自己也定义了一些方法:

  • 02

    详细的代码可参考一下: package zhangtingting; public class StackTest { private Object[] stack; //元素个数; private int size; //默认长度为10; public StackTest(){ this(10); } //也可以自己设置长度,即容量; public StackTest(int len){ stack = new Object[len]; } //返回元素个数; public int size(){ return size; } //返回数组长度,即容量; public int capacity(){ return stack.length; } //实现动态的数组; public void ensureCapacity(){ if(size() == capacity()){ Object[] newStack = new Object[size() * 3 / 2 + 1]; System.arraycopy(stack, 0, newStack, 0, size()); stack = newStack; } } //入栈; public void push(Object o){ size++; ensureCapacity(); stack[size - 1] = o; } //判空; public boolean isEmpty(){ return size == 0; } //出栈; public Object pop(){ //首先要判空; if(isEmpty()){ throw new ArrayIndexOutOfBoundsException("不能为空"); } Object o = stack[--size]; stack[size] = null; return o; } public static void main(String[] args) { StackTest stack = new StackTest(3); String[] data = new String[] { "a", "b", "c" }; for (int i = 0; i < data.length; i++) { stack.push(data[i]); System.out.println(data[i] + ""); } System.out.println("***********"); while (!stack.isEmpty()) { System.out.println(stack.pop() + ""); } } }

(0)

相关推荐

  • 如何用eclipse创建一个java的web工程

    eclipse是一个免费的开发工具,能够进行高效的java代码开发,那么问题来了,怎么利用eclipse软件来创建一个java的web项目呢? 操作方法 01 刚开始使用eclipse的同学可能想创建 ...

  • Java Web的环境配置:[3]怎样创建一个JSP程序

    考拉在前面已经简单地说了Myeclipse以及Tomcat的安装.现在说一说Myeclipse上配置服务器,以及设置编码格式,从而来编写第一个JSP程序. 配置Tomcat服务器 01 第一步,在My ...

  • JAVA学习中使用Eclipse创建一个动态的WEB项目

    J2EE的入门就是创建一个动态的WEB项目,那么怎么样才能使用eclipse创建一个动态的WEB项目呢? 操作方法 01 打开Eclipse,选择左上角的File->NEW->最后一个ot ...

  • Windframework 基础学习 创建一个应用

    创建应用目录文件 我们在web的根目录(/var/www或者其他地方)创建一个文件夹,命名为helloworld。将下载好的框架解压并放到该应用目录下。创建好的目录结构如下: /var/www/hel ...

  • java怎么创建包和类(java类的封装)

    一.先来明白一下关于classpath和path的概念path是java中用来进行编译和运行的程序所在的路径,而classpath是类所在的路径.安装JDK之后,你应当设置好path和classpat ...

  • Android studio怎么创建一个activity文件

    Android studio现在很多的谷歌进行开发的软件,而进行创建Android的开发项目中,进行创建的都是默认的文件,相关的文件都是需要自己进行添加,在项目中都是有多个activity的文件,每个 ...

  • 使用jar命令将java程序创建为可执行的jar包

    使用jar命令将java程序创建为可执行的jar包 操作方法 01 1.创建可执行的jar包.手工写manifest.mf文件(jar命令自动生成的MANIFEST.MF文件中不会包含Main-Cla ...

  • java如何返回一个数组

    java在方法中对数组数据处理后再返回数组,可以在方法中创建一个相等类型以及长度新数组,然后便利处理数据并赋值给这个新的数组,然后返回这个新的数组就可以了. 操作方法 01 在项目中创建Main. 0 ...

  • java怎么创建字符串数组

    有时候我们在进行Java编程的时候,想创建字符串数组,怎么创建呢,下面来分享一下方法 操作方法 01 第一步我们可以通过String [] str = new String [10]方式创建一个长度为 ...