`

Stack的使用方法

    博客分类:
  • java
阅读更多

import java.util.Stack;

public class StackTest {

	static String months[] = {"zhang","gua","shi","ge","hao","ren"};
	
	@SuppressWarnings({ "rawtypes", "unchecked" })
	public static void main(String args[]){
		Stack stk = new Stack();      //栈的声明
		for(int i=0;i<months.length;i++){
			stk.push(months[i]);      //入栈
		}
		System.out.println("stk = "+stk);  //stk = [zhang, gua, shi, ge, hao, ren]
		stk.addElement("the last line");   //插入的另一种形式
		System.out.println("stk = "+stk);  //stk = [zhang, gua, shi, ge, hao, ren, the last line]
		System.out.println("element 5 = "+stk.elementAt(5-1)); //下标是从0开始的
		System.out.println("popping elements:");
		while(!stk.empty()){
			System.out.println(stk.pop());  //出栈
		}
	}
	
}
// Stack 只是 Vector 的一种形式,所有Vector的方法都可以在Stack上使用

//************************************************************************
import java.util.*;

public class StackTest_1 {

	static void Enterpush(Stack<String> st, String str) { // 入栈方法 {
		st.push(str);// 调用Stack的push方法
		System.out.println("入栈 ->");
		System.out.println(str);
		System.out.println("Stack: " + st);
	}

	static void Outpop(Stack<String> st) {// 出栈方法
		System.out.print("出栈 -> ");
		String ss = st.pop().toString();// 调用Stack的pop方法
		System.out.println(ss);
		System.out.println("Stack: " + st);
	}
	
	public static void main(String[] args) {
		Stack<String> st = new Stack<String>();// 创建Stack对象
		System.out.println("Stack: " + st);
		for (int i = 0; i < 5; i++) {
			Enterpush(st, (i + 1) + "");// 利用for循环进行入栈操作,由于第二个参数的数据类型是String,可以通过+"",将int转换成String
		}
		for (int i = 0; i < 10; i++) {
			if (st.empty()) {// 判断栈是否为空,如果为空则返回true
				System.out.println("栈中内容已为空,不能在进行出栈操作");
				break; // 提前结束循环
			} else {
				Outpop(st);// 调用自定义的出栈操作
			}
		}
	}

}
分享到:
评论

相关推荐

    使用ErrorStack进行错误跟踪及诊断.docx

    以下是对ErrorStack使用方法的详细说明: 1. **ErrorStack的级别**: - 级别0:仅转储错误堆栈,但此级别已逐渐被废弃。 - 级别1:除了错误堆栈外,还包括函数调用堆栈,有助于理解错误发生的上下文。 - 级别2:...

    StackDocklet插件及使用方法

    在安装和使用StackDocklet时,建议先阅读`使用方法.txt`,了解基本操作和注意事项,然后根据需要运行`run_this_if_you_cant_open_shortcuts.reg`来优化系统环境。通过熟练掌握StackDocklet的各项功能,你可以在...

    《 ELK Stack权威指南 第2版》.pdf

    ELK Stack权威指南是一本系统介绍ELK Stack使用方法的书籍,尤其是第2版,在ELK 5.0版本的基础上进行了全面更新,涵盖了ELK Stack的核心概念、安装部署、数据收集、分析和可视化等知识点。 1. Elasticsearch:...

    字符串翻转(使用类库方法和stack实现)

    这里我们将深入探讨两种实现方式:使用类库方法和栈数据结构。 首先,让我们关注使用类库方法进行字符串翻转。在Python中,有一个非常方便的内置函数`[::-1]`可以用来轻松实现字符串翻转。这个语法被称为切片操作,...

    从Stack Overflow上复制粘贴编程方法精要

    ### 从Stack Overflow上复制粘贴编程方法精要 #### 引言 在现代软件开发过程中,遇到问题时,很多开发者会求助于网络资源,尤其是像Stack Overflow这样的平台。本书旨在帮助开发者理解如何正确地利用这些资源,特别...

    Qt小demo--treeWidget和stackWidget的使用

    你可以通过`addWidget()`方法将需要的页面添加到`stackWidget`中,然后使用`setCurrentIndex()`或`setCurrentWidget()`来改变当前显示的页面。这种设计模式在保持界面简洁的同时,提供了丰富的用户体验。 在“Qt小...

    Z-Stack 3.0.2-.7z.zip_Z-STACK 3.0.2_Z-STACK-3.0.2_z-stack 3_z-st

    Z-Stack 3.0.2 是一个专为物联网(IoT)设计的网络协议栈,它由Zigbee联盟开发并广泛应用于智能家居、智能能源、工业自动化等领域。...务必仔细阅读文档,理解新特性和使用方法,以便充分利用这个强大的网络协议栈。

    girdDiv拖拽gridstack-4.2.5

    4. 使用GridStack API方法来添加、删除或更新元素,以及处理拖放和大小调整的事件。 在实际开发中,你可能还会遇到一些挑战,比如如何确保在不同屏幕尺寸下的布局自适应,或者如何处理大量元素时的性能问题。为此,...

    StackView图片展示

    8. **性能优化**:在处理大量图片时,考虑到性能问题,可以使用UIImage的`imageWithContentsOfFile:`方法加载本地图片,或者使用异步加载网络图片的方法,如SDWebImage库,以避免阻塞主线程。 9. **扩展性**:Stack...

    TI+Z-stack协议栈开发环境和工作流程.pdf

    TI Z-Stack协议栈通常与IAR Embedded Workbench集成开发环境一起使用。IAR Embedded Workbench不仅提供了强大的编译和下载功能,还支持单步跟踪调试以及对片上寄存器和Flash数据的监控,极大地简化了开发过程。 ###...

    微软Azure Stack产品介绍.pdf

    * 允许开发者使用相同的方法为 Azure 和 Azure Stack 构建应用程序 * 可以根据法律法规、敏感数据保护、可定制能力,以及延迟等要求,轻松地将成果部署到适合的位置 知识点2:Azure Stack 的使用场景 * 边缘和离线...

    【Java面试+Java学习指南】 一份涵盖大部分Java程序员所需要掌握的核心知识

    Java集合详解1:一文读懂ArrayList,Vector与Stack使用方法和实现原理 Java集合详解2:Queue和LinkedList Java集合详解3:Iterator,fail-fast机制与比较器 Java集合详解4:HashMap和HashTable Java集合详解5:深入...

    ndk-stack调试 cocos2d-x

    ndk-stack 的使用方法 在使用 ndk-stack 之前,需要在 Application.mk 文件中添加以下代码,以便启用调试模式: `APP_OPTIM := debug` 然后,在 Windows 下,可以使用以下命令来启动 ndk-stack: `adb logcat | ...

    StackDocklet

    StackDocklet的使用方法也相当直观。你可以通过拖放的方式将文件、文件夹或者快捷方式添加到堆叠中。堆叠的显示方式可以根据个人喜好调整,可以选择列表、网格或者轮播等多种模式。此外,堆叠还可以设置为动态显示,...

    基于深度学习的Stack Overflow问题帖分类方法.pdf

    【基于深度学习的Stack Overflow问题帖分类方法】是一种利用现代机器学习技术,特别是深度学习,对Stack Overflow(SO)上的问题帖子进行有效分类的技术。传统的分类方法,如基于正则表达式和传统机器学习,存在明显...

    用java实现的栈Stack类

    用java实现的栈Stack类,不继承任何集合类,用对象数组实现

    fullstack react book

    在实践中,根据《Fullstack React》一书,读者可以学习React的状态管理、生命周期方法、组件通信、数据获取、状态提升、性能优化以及测试等方面的知识。 在学习React全栈开发的过程中,读者会了解到React背后的哲学...

    ES stack技术分享

    ES Stack是Elasticsearch、Logstash和Kibana这三个开源产品的组合,它们通常以单个可部署单元的形式一起使用,被称为ELK Stack。然而,随着Beats和X-Pack等其他组件的加入,Elastic官方将其产品组合统称为Elastic ...

    Post Processing Stack v2

    在本文中,我们将深入探讨Post Processing Stack v2的功能、使用方法以及它如何影响游戏的最终视觉表现。 首先,让我们了解什么是后期处理。后期处理是在渲染场景的主要步骤之后,对已经生成的帧进行的额外图像处理...

Global site tag (gtag.js) - Google Analytics