import java.util.Stack;

import org.junit.Before;
import org.junit.Test; /**
* Stack(栈)继承了Vector类,底层实现是数组。
* 此处只介绍了Stack自己定义的方法,父类中的方法不再一一介绍。
*/
public class TestStack { // 定义一个栈
Stack<String> stack; @Before
public void before() {
// 实例化栈变量
stack = new Stack<String>(); // add方法向栈中添加元素,添加成功返回true
stack.add("1");
stack.add("2");
stack.add("3");
stack.add("4");
stack.add("5"); // push方法向栈中添加元素,返回结果是当前添加的元素
stack.push("a");
stack.push("b");
stack.push("c");
stack.push("d");
stack.push("e"); // push和add都是向栈中添加元素,底层实现也是一样的,都是先将Vector扩容,再添加 } // pop方法移除并返回栈顶元素,如果是空栈,会抛出异常:EmptyStackException
@Test
public void test1() {
String pop = stack.pop();
System.out.println(pop); // e
System.out.println(stack); // [1, 2, 3, 4, 5, a, b, c, d]
} // peek方法获取栈顶元素,但并不移除,如果是空栈,会抛出异常:EmptyStackException
@Test
public void test2() {
String peek = stack.peek();
System.out.println(peek); // e
System.out.println(stack); // [1, 2, 3, 4, 5, a, b, c, d, e]
} // empty方法检查栈是否是空栈
@Test
public void test3() {
boolean isEmpty = stack.empty();
System.out.println(isEmpty); // false
} // search方法查看某元素在栈中的位置,计数从1开始
@Test
public void test4() {
int index = stack.search("1");
System.out.println(index); //
} }

java.util.Stack(栈)的简单使用的更多相关文章

  1. 用 LinkedList 实现一个 java.util.Stack 栈

    用 LinkedList 实现一个 java.util.Stack 栈 import java.util.LinkedList; public class Stack<E> { priva ...

  2. 为什么 java.util.Stack不被官方所推荐使用!

    Java 为什么不推荐使用 Stack 呢? 因为 Stack 是 JDK 1.0 的产物.它继承自 Vector,Vector 都不被推荐使用了,你说 Stack 还会被推荐吗? 当初 JDK1.0 ...

  3. java.util.Stack类中的peek()方法

    java.util.stack类中常用的几个方法:isEmpty(),add(),remove(),contains()等各种方法都不难,但需要注意的是peek()这个方法. peek()查看栈顶的对 ...

  4. java集合类——Stack栈类与Queue队列

    Stack继承Vector类,它通过五个操作对类 Vector 进行了扩展. 栈是 后进先出的. 栈提供了通常的 push 和 pop 操作,以及取堆栈顶点的 peek 方法.测试堆栈是否为空的 em ...

  5. java.util.Stack

    import java.util.Stack; public class Test { public static void main(String[] args) { Stack stack = n ...

  6. java.util.Stack类中 empty() 和 isEmpty() 方法的作用

    最近在学习算法和数据结构,用到Java里的Stack类,但程序运行结果一直和我预料的不一样,网上也没查清楚,最后查了API,才搞明白. java.util.Stack继承类 java.util.Vec ...

  7. Java数据类型Stack栈、Queue队列、数组队列和循环队列的比较

    判断括号是否匹配:调用java本身 import java.util.Stack; public class Solution { public boolean isValid(String s){ ...

  8. 如何给女朋友讲明白:Java 中 Stack(栈) 与 Heap(堆)

    背景 Java 中 Stack(栈) 与 Heap(堆) 是面试中被经常问到的一个话题. 有没有对 Java 中 Stack(栈) 与 Heap(堆) 烂熟于心的童鞋,请举手!!!(怎么没人举手-) ...

  9. java.util.Stack类简介(栈)

    Stack是一个后进先出(last in first out,LIFO)的堆栈,在Vector类的基础上扩展5个方法而来 Deque(双端队列)比起stack具有更好的完整性和一致性,应该被优先使用 ...

随机推荐

  1. SimpleDateFormat 格式化参数说明

    字母 日期或时间元素 表示 示例 G Era 标志符 Text AD y 年 Year 1996; 96 M 年中的月份 Month July; Jul; 07 w 年中的周数 Number 27 W ...

  2. spring-boot 速成(1) helloworld

    一.mac上安装 $ brew tap pivotal/tap $ brew install springboot 安装成功后,可在终端查看命令行 ➜  ~ spring --versionSprin ...

  3. Oracle ERP Audit Funtion in R12.2.4

    M1 JOB NAME:  164839 TABLE NAME: WIP_REQUIREMENT_OPERATIONS Request name: AuditTrail Update Tables O ...

  4. 阿里云 RDS 与 DRDS 学习了解

    RDS 主页:https://help.aliyun.com/document_detail/26092.html?spm=5176.7741872.6.539.4h8LSC DRDS 主页:http ...

  5. windows环境下面批量新建文件夹

    md D:批量新建文件夹\2026 md D:批量新建文件夹\2030 md D:批量新建文件夹\2032 md D:批量新建文件夹\1835 md D:批量新建文件夹\1832 电脑桌面新建文档 - ...

  6. [JS]两个常用的取随机整数的函数

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  7. win32 进程崩溃时禁止弹出错误对话框

    在程序初始化的时候加入以下代码即可: SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX);    _set_abort_behav ...

  8. iOS 创建一个App目录结构

    Class:存放的是App中所有的模块功能 Base:存放一些基类,比如BaseViewController,BaseModel等,共性直接在基类中去修改 Vendor:三方,因为我的项目中使用coc ...

  9. Jason 和 Java 对象转化示例

    1.工程 2.代码: JsonUtil.java package com.my.json; import java.util.ArrayList; import java.util.List; imp ...

  10. AJAX技术之DWR框架

    DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在 ...