Stack 的操作|学习笔记-阿里云开发者社区

开发者社区> 学堂小助手> 正文

Stack 的操作|学习笔记

简介: 快速学习 Stack 的操作
+关注继续查看

开发者学堂课程【Java高级编程Stack 的操作】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/20/detail/422


Stack 的操作

内容简介:

1、Stack类、栈的定义

2、栈的基本操作

3、栈的入栈和出栈的顺序规律

4、栈的逻辑结构

5、具体内容

1、Stack类、栈的定义:

栈是一种先进后出的数据结构。例如文本编辑器上都有的撤销功能,每次使用时,最后一次的编辑操作永远是最早、最先撤销。这个功能就是利用栈来实现,栈的基本操作形式如下:先设置有一个栈的空间,将操作数据输入栈里面,栈在整个过程之中,它分为两个概念,一个叫做栈顶,是栈的头部,一个叫做是栈底,是栈的尾部

基本上当数据对象进行保存的时候,新的数据会直接在栈底保存。

2、栈的基本操作

输入的数据一保存到栈底后再输入数据二数据二将会在数据一的上面依次类推,

所有操作数据,最终结果都在最上保存,而后,如果要进行出栈的操作,出过程中,最后保存的数据最先出去

例如在使用的浏览器时,最后一次操作总是最先回退。

浏览器中所有处理回退的过程,严格来讲都是栈的支持。

图片10.png

3、栈的入栈和出栈的顺序规律

在 Java 程序里面使用 Stack 描述我们栈的操作。

这个类的定义如下:

public class Stack

extends Vector

Stack 是 Vector 的一个子类,但是它使用的并不是 Vector 类之中所提供的方法,而是采用如下的两个方法:

·入栈:public E push(E item);

·出栈:public E pop()

4、栈的逻辑结构

范例:实现栈的操作

操作的代码如下

1 package cn. mldn. demo;

2

3 import java.util.stack;

4

5 public class JavaAPIDemo {

6     public static void main(String[ ] args) throws Exception {

7         Stack all = new Stack();

8         all. push("A") ;

9         all.push("B") ;

10        all.push("C") ;

11        System. out. println(all.pop());

12        System. out . println(all. pop());

13        System. out . println(all. pop());

14        System. out . println(all.pop()); //

无数据、EmptyStackException

15      }

16 }

C

B

A

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 cn. mldn. demo .JavaAPIDemo . main(JavaAPIDemo. java:14 )

通过此时的操作可以发现,所有数据保存之后,将按照倒序的形式进行弹出,如果栈已经空了,则会抛出空栈异常。

5、具体内容

在开发过程中,这是栈的一个基本使用。

要了解栈的继承结构,先得找到 Vector 类的继承结构,在整个的操作里面,Stack 是一个操作子类,继承自 Vector 这个父类。

图片11.png

虽然栈这个结构,在现在开发中所写的情况比较少,但是栈这个数据结构依然是个重要的结构,是开发之中必不可少的操作。

 

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10052 0
操作系统学习笔记
对文件系统原理学习的理解   按需分配。打开的文件属性才放入内存中。关键点是记录某个文件用到哪几块磁盘地址。一个文件可能占多个磁盘块,可能是一个。关键在于文件的的大小文件名,磁盘块地址,多个。
669 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13865 0
深入解析Windows操作系统笔记——CH3系统机制
3.系统机制 微软提供了一些基本组件让内核模式的组件使用: 1.陷阱分发,包括终端,延迟的过程调用(DPC),异步过程调用(APC),异常分发以及系统服务分发 2.执行体对象管理器 3.同步,包括自旋锁,内核分发器对象,以及等待是如何实现的。
1334 0
数据库的基本操作1-增删改 | 学习笔记
快速学习数据库的基本操作1-增删改
11 0
Django学习笔记----数据库操作实例
上上篇>Django学习笔记----环境搭建基于Windows 上一篇>Django学习笔记----快速入门 修改settings.py配置 在环境搭建篇, 我们已经安装了mysql-client包 安装好后, 在settings.
1203 0
1394
文章
0
问答
来源圈子
更多
技术图谱:由专家组参与技术图谱的绘制与编写,知识与实践的结合让开发者们掌握学习路线与逻辑,快速提升技能 电子书:电子书由阿里内外专家打造,供开发者们下载学习,更与课程相结合,使用户更易理解掌握课程内容 训练营:学习训练营 深入浅出,专家授课,带领开发者们快速上云 精品课程:汇集知识碎片,解决技术难题,体系化学习场景,深入浅出,易于理解 技能自测:提供免费测试,摸底自查 体验实验室:学完即练,云资源免费使用
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载