上一篇: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.3、Stack例子
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());
}
}
分享到:
相关推荐
P211~212C++stack容器学习笔记.docx
3. **Z-Stack学习路径** - **安装与配置**:了解如何在开发环境中安装Z-Stack,设置开发工具链。 - **Hello World示例**:通过简单的发送和接收数据,理解Z-Stack的基本操作。 - **网络组建**:学习如何创建和...
根据提供的文件内容,以下是对Go语言学习笔记的详细知识点阐述。 Go语言是Google开发的一种静态类型、编译型、并发型,并具有垃圾回收功能的编程语言。它由Robert Griesemer、Rob Pike和Ken Thompson于2007年9月...
### 学习笔记:栈相关知识点 #### 0x310 目标 本章节旨在探讨如何通过操纵函数的栈帧来执行任意代码。在实际应用中,这种技术经常被用于安全研究、逆向工程等领域,特别是针对缓冲区溢出攻击的研究与防御。 #### ...
标题中的"C++学习笔记.pdf"表明文档是一份关于C++语言的学习记录。C++是一种广泛使用的编程语言,由Bjarne Stroustrup在1980年代初开发,它是一种静态类型、编译式、通用编程语言。C++支持多范式编程,包括过程化、...
Devicenet学习笔记
### 汇编语言学习笔记 #### 概述 汇编语言是一种低级程序设计语言,它与机器语言非常接近,通常用于编写操作系统内核、嵌入式系统、设备驱动等对性能要求极高的场景。这份学习笔记主要依据王爽老师的教程进行整理...
Go+学习笔记所包含的知识点涵盖了Go语言的基础知识、编程范式、数据结构、并发处理、标准库使用以及进阶话题等多个方面,详细介绍了Go语言的学习路径和应用实践。 首先,Go语言的基础部分包括变量声明、基本类型、...
这篇学习笔记将深入探讨STL的核心概念、主要组件以及其在实际编程中的应用。 首先,STL的核心概念是容器、迭代器、算法和函数对象。容器是STL提供的一系列数据结构,如vector(动态数组)、list(双向链表)、set...
13. ** strut2四天笔记**:这份学习笔记可能涵盖了以上所有知识点,包括如何创建Action,配置struts.xml,使用OGNL表达式,处理异常,以及实践中的各种技巧和最佳实践。 在四天的学习过程中,你应该通过实践和理解...
**SpringBoot学习笔记** SpringBoot是由Pivotal团队开发的一款基于Java的轻量级框架,旨在简化Spring应用的初始搭建以及开发过程。它通过自动配置、起步依赖和运行时嵌入式服务器,使得开发者能够快速地创建独立的...
### Java数据结构与算法学习笔记知识点总结 #### 一、数据结构概述 数据结构是对数据的一种组织形式,它决定了数据的存储方式以及处理数据的方法。常见的数据结构包括但不限于数组、链表、栈、队列、二叉树、图等...
《FLEX学习笔记》 FLEX,全称为Flex Builder,是由Adobe公司开发的一款基于MXML和ActionScript的开源框架,用于构建富互联网应用程序(RIA)。它允许开发者创建具有交互性、响应性和丰富用户体验的Web应用。FLEX的...
Android Activity学习笔记 Android Activity是Android系统中最基本的组件之一,它负责处理用户交互和显示用户界面。本文将深入讲解Activity的生命周期、Activity之间的数据交互、Activity启动模式、Task和BackStack...
### Go语言学习笔记知识点梳理 #### 一、Go语言基础 **1.1 变量** - **定义**: 在Go语言中,变量是用于存储数据的基本单元。可以通过`var`关键字来声明变量,或者使用短变量声明`:=`在一行内声明并赋值。 - **...
### Java学习笔记知识点详解 #### 一、Java环境配置与基本概念 - **系统变量path**: 在设置Java开发环境时,需要配置系统变量`path`,这样计算机才能找到执行Java命令所需的程序。例如,当我们输入`javac`或`java`...
《Visual C++程序设计学习笔记》是一份深入探讨C++编程在Microsoft Visual Studio环境下的实践指南。这份笔记涵盖了从基础知识到高级技术的广泛内容,旨在帮助读者熟练掌握Visual C++的使用,提升软件开发能力。 一...
一份学习Z-STACK协议栈的笔记,适合初学者使用
JavaScript 高级编程的学习笔记涵盖了ECMAScript中的基础概念,特别是关于变量、数据类型和运算符的使用。在ECMAScript中,变量可以存储两种基本类型的值:原始值(Primitive Values)和引用值(Reference Values)...