Stack子类

Stack表示栈操作,栈也是一种动态对象数组,采用的是一种先进后出的数据结构形式,即在栈中最早保存的数据最后才会取出,而最后保存的数据可以最先取出。Stack类的定义如下:

public class Stack<E>extends Vector<E>

由上我们可以发现Stack类属于Vector的子类,但是在进行Stack类操作时不会使用Vector类定义的方法,主要使用Stack自己定义的方法。Stack类的常用方法如下:

No. 方法 类型 描述
1 public E public(E item) 普通 数据入栈
2 public E pop() 普通 数据出栈,如果栈中没有数据,则调用此方法会抛出空栈异常(EmptyStackException)

例:观察栈的操作

package Project.Study.Stack;import java.util.Stack;public class Test1 {public static void main(String[]args){Stack<String>all = new Stack<>();all.push("!!!");all.push("World ");all.push("Hello ");System.out.print(all.pop());System.out.print(all.pop());System.out.println(all.pop());System.out.println(all.pop());//EmptyStackException}
}
//结果:
//Hello World !!!
//Exception in thread "main" java.util.EmptyStackException
//  at java.base/java.util.Stack.peek(Stack.java:102)
//  at java.base/java.util.Stack.pop(Stack.java:84)
//  at Project.Study.Stack.Test1.main(Test1.java:14)

由上程序我们可以看到,当栈中没有数据时,再进行出栈操作则将会抛出"EmptyStackException"异常。

Java学习总结:56(Stack子类)相关推荐

  1. java学习(56):接口之间的继承续

    //定义一个接口,里面放置多个方法 public interface CountManagement { double count(double n,double m,char tag); doubl ...

  2. super构造方法为什么给子类赋值_【Java学习 | Javase】super

    整理自:动力节点基础讲义 super 概述 严格来说,super其实并不是一个引用,它只是一个关键字,super代表了当前对象中从父类继承过来的那部分特征.换句话说,super其实是this的一部分, ...

  3. 学习-Java继承和多态之子类继承性

    第1关:学习-Java继承和多态之子类继承性 任务描述 相关知识 编程要求 测试说明 任务描述 本关任务:定义一个 Dog 类,继承 Animal 类(Animal 类已经定义),定义自己的性别属性, ...

  4. 学习-Java继承和多态之子类对象特点

    第1关:学习-Java继承和多态之子类对象特点 任务描述 相关知识 子类对象的特点 instanceof 运算符 编程要求 测试说明 任务描述 本关任务:使用 instanceof 运算符判断所指对象 ...

  5. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  6. Java 学习笔记(导航目录)

    Java学习计划 ☕️学习目标 ☕️学习目录 第1部分 Java基础程序设计 第1章 Java概述及开发环境搭建 第2章 简单的Java程序 第3章 Java基础程序设计 第4章 数组与方法 第2部分 ...

  7. Java学习笔记(原创)

    Java学习笔记(原创) 2011-12-01 16:37:00|  分类: Java|举报|字号 订阅 下载LOFTER客户端 基本知识 一. Java基础 1. java语言的特点: ①简单:没有 ...

  8. Java学习——Day13:IO流

    6.1 File类 java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关 File 能新建.删除.重命名文件和目录,但 File 不能访问文件内容本身. 如果需要访问文件内容本身, ...

  9. 李兴华课程 java学习笔记

    学习笔记 第一章 Java Java的特点 1.java语言足够简单,正因为足够简单,所有才能让人们有更多的发挥空间 2.java是一门面向对象的编程语言 3.java是为数不多的多线程编程语言 4. ...

最新文章

  1. 网络加速_BWS2020:加速网络自治,使能敏捷商业
  2. 【错误记录】Android Studio 编译报错 ( cannot open this project, please retry with version 4.2 or newer. )
  3. 做弱电机房工程的时候,如何解决机房称重问题?
  4. .NET Forms身份验证
  5. C语言试题四十一之请编写一个函数,用来删除字符串中的所有空格。
  6. 洛谷P1450:硬币购物(背包、容斥)
  7. 怎样配置键盘最方便,以及一些设计的思考
  8. Python与机器视觉(三)图像保存
  9. 2DASL:目前最好的开源人脸3D重建与密集对齐算法
  10. 怎么把css改成打印,css 打印print
  11. 工作 10 年后,我突然决定读硕士了!
  12. 从按下键盘到屏幕上显示字符计算机经过了哪些过程
  13. 怎么让python播放音频_用Python播放音频
  14. 去掉 VC2017里输出:warning LNK4099
  15. 说唱 -- 再见大四
  16. 电源模块中滤波电容的作用
  17. 项目管理笑话集之诸葛亮借东风
  18. Pandas、Numpy使用时常见问题
  19. 【SemiDrive源码分析】【X9芯片启动流程】30 - AP1 Android Kernel 启动流程 start_kernel 函数详细分析(一)
  20. matlab 摄氏度符号怎么打,MATLAB中如何打角标和希腊字母 | 学步园

热门文章

  1. 在CentOS 6.3 64bit上安装libunwind库
  2. 精准广告系统架构调研
  3. Linux的僵尸进程
  4. Spring Security的RBAC数据模型嵌入
  5. Ubuntu16.04如何彻底删除Apache2
  6. 0011_练习题d1
  7. IOS笔记 #pragma mark的用法
  8. 一个老工程师对理工科学生的忠告
  9. Linux中errno使用
  10. 在 Visual Basic .NET 或 JScript 代码中使用早期绑定