`

Stack学习笔记

 
阅读更多

上一篇:Vector学习笔记

二、Stack

 

Stack 类表示后进先出(LIFO)的对象堆栈。它通过五个操作对类 Vector 进行了扩展 ,允许将向量视为堆栈。它提供了通常的 push pop 操作,以及取堆栈顶点的 peek 方法、测试堆栈是否为空的 empty 方法、在堆栈中查找项并确定到堆栈顶距离的 search 方法。

 

首次创建堆栈时,它不包含项。

3.1、构造函数

 

public Stack()创建一个空堆栈。默认容量为10,同Vector一样,双倍扩容

 

Demo1

Stack stack=new Stack();

System.out.println("初始容量:"+stack.capacity());

for(int i=0;i<22;i++){

       stack.push(i);

}

System.out.println("扩容后容量:"+stack.capacity());

输出结果:

初始容量:10

扩容后容量:40

 

3.2、其他操作见API,比较简单

3.3Stack例子

import java.util.Stack;

public class StackExample {

  public static void main (String args[]) {

    Stack s = new Stack();

    s.push("Autumnal Tints");

    s.push("A Week on the Concord and Merrimack Rivers");

    s.push("The Maine Woods");

    // Check out what's next to read

    System.out.println("Next: " + s.peek());

    s.push("Civil Disobedience, Solitude and Life Without Principle");

    // Read a book

    System.out.println(s.pop());

    s.push("Walden");

    s.push("The Natural Man");

    // Find that other book

    int count = s.search("The Maine Woods");

    while (count != −1 && count > 1) {

      s.pop();

      count−;

    }

    // Read a book

    System.out.println(s.pop());

    // Anything left?

    System.out.println(s.empty());

  }

}

 

 

0
0
分享到:
评论

相关推荐

    P211~212C++stack容器学习笔记.docx

    P211~212C++stack容器学习笔记.docx

    从零开始学习Z-Stack——zigbee学习笔记

    3. **Z-Stack学习路径** - **安装与配置**:了解如何在开发环境中安装Z-Stack,设置开发工具链。 - **Hello World示例**:通过简单的发送和接收数据,理解Z-Stack的基本操作。 - **网络组建**:学习如何创建和...

    Go 学习笔记 高清

    根据提供的文件内容,以下是对Go语言学习笔记的详细知识点阐述。 Go语言是Google开发的一种静态类型、编译型、并发型,并具有垃圾回收功能的编程语言。它由Robert Griesemer、Rob Pike和Ken Thompson于2007年9月...

    学习笔记stack相关

    ### 学习笔记:栈相关知识点 #### 0x310 目标 本章节旨在探讨如何通过操纵函数的栈帧来执行任意代码。在实际应用中,这种技术经常被用于安全研究、逆向工程等领域,特别是针对缓冲区溢出攻击的研究与防御。 #### ...

    c++学习笔记.pdf

    标题中的"C++学习笔记.pdf"表明文档是一份关于C++语言的学习记录。C++是一种广泛使用的编程语言,由Bjarne Stroustrup在1980年代初开发,它是一种静态类型、编译式、通用编程语言。C++支持多范式编程,包括过程化、...

    Devicenet学习笔记

    Devicenet学习笔记

    汇编语言学习笔记

    ### 汇编语言学习笔记 #### 概述 汇编语言是一种低级程序设计语言,它与机器语言非常接近,通常用于编写操作系统内核、嵌入式系统、设备驱动等对性能要求极高的场景。这份学习笔记主要依据王爽老师的教程进行整理...

    Go+学习笔记

    Go+学习笔记所包含的知识点涵盖了Go语言的基础知识、编程范式、数据结构、并发处理、标准库使用以及进阶话题等多个方面,详细介绍了Go语言的学习路径和应用实践。 首先,Go语言的基础部分包括变量声明、基本类型、...

    c++ -- stl 学习笔记

    这篇学习笔记将深入探讨STL的核心概念、主要组件以及其在实际编程中的应用。 首先,STL的核心概念是容器、迭代器、算法和函数对象。容器是STL提供的一系列数据结构,如vector(动态数组)、list(双向链表)、set...

    struts2四天的学习笔记

    13. ** strut2四天笔记**:这份学习笔记可能涵盖了以上所有知识点,包括如何创建Action,配置struts.xml,使用OGNL表达式,处理异常,以及实践中的各种技巧和最佳实践。 在四天的学习过程中,你应该通过实践和理解...

    springboot学习笔记(史上最全)

    **SpringBoot学习笔记** SpringBoot是由Pivotal团队开发的一款基于Java的轻量级框架,旨在简化Spring应用的初始搭建以及开发过程。它通过自动配置、起步依赖和运行时嵌入式服务器,使得开发者能够快速地创建独立的...

    java数据结构和算法学习笔记

    ### Java数据结构与算法学习笔记知识点总结 #### 一、数据结构概述 数据结构是对数据的一种组织形式,它决定了数据的存储方式以及处理数据的方法。常见的数据结构包括但不限于数组、链表、栈、队列、二叉树、图等...

    FLEX学习笔记

    《FLEX学习笔记》 FLEX,全称为Flex Builder,是由Adobe公司开发的一款基于MXML和ActionScript的开源框架,用于构建富互联网应用程序(RIA)。它允许开发者创建具有交互性、响应性和丰富用户体验的Web应用。FLEX的...

    Android Activity学习笔记

    Android Activity学习笔记 Android Activity是Android系统中最基本的组件之一,它负责处理用户交互和显示用户界面。本文将深入讲解Activity的生命周期、Activity之间的数据交互、Activity启动模式、Task和BackStack...

    Go 学习笔记

    ### Go语言学习笔记知识点梳理 #### 一、Go语言基础 **1.1 变量** - **定义**: 在Go语言中,变量是用于存储数据的基本单元。可以通过`var`关键字来声明变量,或者使用短变量声明`:=`在一行内声明并赋值。 - **...

    Java学习笔记

    ### Java学习笔记知识点详解 #### 一、Java环境配置与基本概念 - **系统变量path**: 在设置Java开发环境时,需要配置系统变量`path`,这样计算机才能找到执行Java命令所需的程序。例如,当我们输入`javac`或`java`...

    Visual C++程序设计学习笔记.rar

    《Visual C++程序设计学习笔记》是一份深入探讨C++编程在Microsoft Visual Studio环境下的实践指南。这份笔记涵盖了从基础知识到高级技术的广泛内容,旨在帮助读者熟练掌握Visual C++的使用,提升软件开发能力。 一...

    从零开始学习Z-STACK

    一份学习Z-STACK协议栈的笔记,适合初学者使用

    javascript高级编程(学习笔记 包括 1 , 2 版)

    JavaScript 高级编程的学习笔记涵盖了ECMAScript中的基础概念,特别是关于变量、数据类型和运算符的使用。在ECMAScript中,变量可以存储两种基本类型的值:原始值(Primitive Values)和引用值(Reference Values)...

Global site tag (gtag.js) - Google Analytics