Stack继承了Vector类,Stack类似于“栈”,它是一种后进先出(LIFO)的对象堆栈,通过五个操作对类Vector进行扩

展,允许将向量视为堆栈。它提供了通常的push和pop操作,以及取堆栈顶点的peek方法,测试堆栈是否为空的

empty方法、在堆栈中查找并确定到堆栈顶距离的search方法。

我们来看下图,加深对栈的理解:

根据上图,我们知道Stack类似于栈,我们将栈比喻成一个桶,底部是封住的,现在我们现将Object_1存入栈中,然

后是Object_2接着是Object_3最后是Object_4,依次存入栈中,如果现在我们想要获取栈底的元素,唯一的方法就

是先将上面的元素依次出栈,才能获取栈底元素,因此Vector是一个后进先出的栈。

以下是Vector类的使用方法:

public class Main {public static void main(String[] args) {/** 创建一个空的堆栈*/Stack stack=new Stack();/** 检测当前的堆栈是否为空(空返回true,反之返回false),以下堆栈为空*/System.out.println(stack.empty());//接下来将几个元素通过push入栈stack.push("Object_1");stack.push("Object_2");stack.push("Object_3");stack.push("Object_4");//现在我们在堆栈中查找指定的元素,并返回这个元素所在的位置//以下输出:2System.out.println(stack.search("Object_3"));/** 通过peek查看堆栈顶部的对象,但不从堆栈中移除它。*///输出:Object_4System.out.println(stack.peek());//输出:[Object_1, Object_2, Object_3, Object_4]System.out.println(stack);/**通过pop 移除堆栈顶部的对象,*并作为此函数的值返回该对象。*///输出:Object_4System.out.println(stack.pop());//输出:[Object_1, Object_2, Object_3]System.out.println(stack);}
}

转载请注明出处:http://blog.csdn.net/hai_qing_xu_kong/article/details/44159585  情绪控_

Java学习笔记32相关推荐

  1. 【Java学习笔记之二十六】深入理解Java匿名内部类

    在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意 ...

  2. Java学习笔记——流程控制

    Java学习笔记--流程控制 Day05 一.用户交互Scanner 1.Scanner对象 我们通过Java工具包java.util.Scanner中的Scanner类来获取用户的输入 基本语法:S ...

  3. Java学习笔记Day02

    Java学习笔记Day02 一.细化Hello程序 1.详解代码 //公有的类,叫做Hello public class Hello{//主方法public static void main(Stri ...

  4. Java学习笔记之基础篇

    Java学习笔记之基础篇 目录 Java如何体现平台的无关性? 面向对象(OO)的理解 面向对象和面向过程编程的区别 面向对象三大特征 静态绑定和动态绑定(后期绑定) 延伸:类之间的关系 组合(聚合) ...

  5. 郑志远的java学习笔记

    郑志远的java学习笔记 郑志远    CCB 1         Java起源 略 2         Java语言概述 1.面向对象编程的3个原则:封装(encapsulation).继承(inh ...

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

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

  7. java学习笔记:全部,txt版本

    java学习笔记:全部,txt版本 笔者注: 1.不知道怎么上传附件,所以就把txt文本内容全部贴在这里吧. 2.已经把txt版本的笔记上传到CSDN了,我没有设置索要积分才能下载,但是不知道为什么C ...

  8. Java 学习笔记:第一章 Java入门

    Java 学习笔记:第一章 Java入门 1.1 计算机语言发展史以及未来方向 1.2 常见编程语言介绍 C语言 C++ 语言 Java语言 PHP 语言 Object-C和Swift 语言 Java ...

  9. Java学习笔记项目三:开发团队调度软件(尚硅谷)

    JAVA学习笔记开发团队调度软件 ①创建基础组件 Equipment 接口 package august.domain;/*** 设备领取** @author : Crazy_August* @Dat ...

最新文章

  1. CentOS 7安装教程
  2. office如何快速删除重复数据
  3. 【逻辑与计算理论】组合子逻辑与 Y 组合子
  4. java集成测试_基于TestNG+Mockito及自动装配注解的Spring MVC集成测试
  5. 使用Three.js的材质
  6. 用 Doc2Vec 得到文档/段落/句子的向量表达
  7. markdown快速创建表格及内容工具
  8. 宁波市中学生计算机程序设计,宁波市第26届中小学生计算机程序设计竞赛初赛试题(小学组)...
  9. 获取Android手机短信中心号码
  10. Red Hat 9.0下载及安装
  11. c语言定时器中断实验报告,单片机实验报告-定时器中断实验.doc
  12. mysql导出表_Navicat for MySQL如何导出数据表
  13. 索尼rx1r人脸识别_徕卡Q2 索尼rx1r2对比
  14. 三、电容屏原理(2)
  15. Dataframe修改列名
  16. linux中文是楷体,Linux中安装宋体楷体
  17. 详解Win10系统下打开.jks签名文件的方法
  18. 机器学习阶段性总结[机器学习]
  19. python 文件操作大总结 对文件的增删改查,备份, 批量修改,创建和删除 文件的备份
  20. 单片机串口通讯RXD与TXD如何对接详解

热门文章

  1. go context剖析之使用技巧
  2. MDL--元数据锁的锁请求与锁等待+元数据锁类对象
  3. H3C V7 AC https页面无法重定向问题处理经验总结
  4. C# 加载 SQLite DLL问题
  5. mysql 插入汉字 异常 Incorrect string value: '\xE8\xA7\x84\xE5\x88\x99' for column 'name'
  6. php编写TCP服务端和客户端程序
  7. 将 Shiro 作为应用的权限基础
  8. CCNet 的 Build 流程
  9. Spring AOP本质(7)
  10. Confluence 6 应该如何在我的空间中组织内容