Stack基于Vector实现,支持LIFO。实际上栈是一种抽象数据类型。
public
class Stack<E> extends Vector<E> {
/**
* Creates an empty Stack.
*/
public Stack() {
}
/**
* Pushes an item onto the top of this stack. This has exactly
* the same effect as:
* <blockquote><pre>
* addElement(item)</pre></blockquote>
*
* @param item the item to be pushed onto this stack.
* @return the <code>item</code> argument.
* @see java.util.Vector#addElement
*/
public E push(E item) {
addElement(item);
return item;
}
/**
* Removes the object at the top of this stack and returns that
* object as the value of this function.
*
* @return The object at the top of this stack (the last item
* of the <tt>Vector</tt> object).
* @exception EmptyStackException if this stack is empty.
*/
public synchronized E pop() {
E obj;
int len = size();
obj = peek();
removeElementAt(len - 1);
return obj;
}
/**
* Looks at the object at the top of this stack without removing it
* from the stack.
*
* @return the object at the top of this stack (the last item
* of the <tt>Vector</tt> object).
* @exception EmptyStackException if this stack is empty.
*/
public synchronized E peek() {
int len = size();
if (len == 0)
throw new EmptyStackException();
return elementAt(len - 1);
}
/**
* Tests if this stack is empty.
*
* @return <code>true</code> if and only if this stack contains
* no items; <code>false</code> otherwise.
*/
public boolean empty() {
return size() == 0;
}
/**
* Returns the 1-based position where an object is on this stack.
* If the object <tt>o</tt> occurs as an item in this stack, this
* method returns the distance from the top of the stack of the
* occurrence nearest the top of the stack; the topmost item on the
* stack is considered to be at distance <tt>1</tt>. The <tt>equals</tt>
* method is used to compare <tt>o</tt> to the
* items in this stack.
*
* @param o the desired object.
* @return the 1-based position from the top of the stack where
* the object is located; the return value <code>-1</code>
* indicates that the object is not on the stack.
*/
public synchronized int search(Object o) {
int i = lastIndexOf(o);
if (i >= 0) {
return size() - i;
}
return -1;
}
/** use serialVersionUID from JDK 1.0.2 for interoperability */
private static final long serialVersionUID = 1224463164541339165L;
}
分享到:
相关推荐
在汇编语言的学习中,"STACK1_SEGMENT_STACK.rar_STACK1 SEGMENT_stack segment stack"这个标题提到了两个关键概念:栈段(Stack Segment)和栈(Stack)。栈在计算机科学中扮演着至关重要的角色,尤其是在汇编语言...
Z-Stack 3.0.2 是一个专为物联网(IoT)设计的网络协议栈,它由Zigbee联盟开发并广泛应用于智能家居、智能能源、工业自动化等领域。Zigbee是一种低功耗、低成本、自组织的无线通信技术,支持多跳网络,能构建大规模...
stack官方网站: https://docs.haskellstack.org/en/stable/README/ 首先: 在终端下键入下面这条命令: curl -sSL https://get.haskellstack.org/ | sh 出现以下情况: 在终端下输入命令: sudo apt install curl...
redis-stack-server-7.2.0-v9.arm64.snap redis-stack-server-7.2.0-v9.bionic.arm64.tar.gz redis-stack-server-7.2.0-v9.bionic.x86_64.tar.gz redis-stack-server-7.2.0-v9.bullseye.x86_64.tar.gz redis-stack-...
StackDocklet是一款面向开发者和IT专业人士的工具,它允许用户在桌面上创建一个浮动的快捷方式堆栈,方便地管理和启动常用的应用程序、文件或目录。这个压缩包“StackDocklet.zip”包含了StackDocklet的主要组件和...
C语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 ...
Z-Stack是TI(德州仪器)开发的一套完整的Zigbee协议栈,它为开发者提供了构建Zigbee网络的基础。本文将深入探讨基于Z-Stack的点对点通信,以及如何在CC2530微控制器上实现这一通信模式。 CC2530是TI公司设计的一款...
Z-Stack 3.0.2是Texas Instruments(TI)发布的一个重要的无线网络协议栈,专为Zigbee通信协议设计。Zigbee是一种低功耗、短距离、自组织的无线网络技术,广泛应用于智能家居、工业自动化、智能电网等领域。Z-Stack...
Z-Stack 3.0是德州仪器(Texas Instruments,简称TI)提供的一个ZigBee协议栈,它是一个无线通讯技术,用于创建低功耗局域网。ZigBee协议栈基于IEEE 802.15.4标准,用于满足低数据速率、低功耗、短距离的无线通讯...
"girdDiv拖拽gridstack-4.2.5"是一个专为实现这种功能的库,它允许用户通过鼠标拖放操作来调整div元素的位置和大小,从而提供了一种灵活的网格布局解决方案。这个库主要基于jQuery和JavaScript技术,使得开发者能够...
《NXP LIN 2.2 Stack:构建与理解》 NXP LIN 2.2 Stack 是一种基于Freescale Semiconductor(现为NXP Semiconductors)技术的 LIN(Local Interconnect Network)通信协议栈,它专为汽车电子系统中的低速通信设计。...
### Android NDK-Stack 使用说明 #### 一、概述 在使用Cocos2d-x、JNI及Android NDK进行开发时,经常会遇到调试困难的问题。尤其是对于C/C++代码的调试,由于涉及到本地代码与Java层之间的交互,使得调试过程变得...
ELKstack是Elasticsearch、Logstash、Kibana三个开源软件的组合,是目前开源界流行的实时数据分析方案,成为实时日志处理领域开源界的选择。然而,ELKstack也并不是实时数据分析界的灵丹妙药,使用不恰当,反而会...
Bacnet-stack-0.8.0 是一个针对BACnet协议的开源实现,适用于各种嵌入式设备。这个版本的堆栈(stack)是0.8.0,它旨在为不同平台提供支持,包括Linux、Windows 32位系统、PIC微控制器以及ARM7架构的处理器。BACnet...
Z-Stack_Lighting_1_0_2 是TI(德州仪器)推出的一个针对CC2530微控制器的ZigBee协议栈软件版本。ZigBee是一种基于IEEE 802.15.4标准的低功耗、短距离无线通信技术,广泛应用于智能家居、智能照明、传感器网络等领域...
"华为云Stack 8.1 产品彩页 V1.1" 华为云Stack 8.1 是一款基于云计算技术的解决方案,旨在为政府和企业提供智能升级的 Cloud Office 平台。该解决方案基于鲲鹏处理器,提供云办公服务,云桌面服务,云应用服务等...
Z-Stack是TI公司开发的一款专门用于Zigbee网络的软件协议栈,它为开发者提供了构建无线传感器网络和物联网应用的基础。Zigbee是一种低功耗、低成本、自组织的无线通信技术,常用于智能家居、工业自动化、智能照明等...