java -- Stack
Stack是栈。继承于Vector,它的特性是:先进后出(FILO, First In Last Out)。
特点
- 先进后出
- Stack也是通过数组实现的,而非链表,Stack是继承于Vector。当然,我们也可以将LinkedList当作栈来使用
常用方法
代码示例
import java.util.Stack; import java.util.Iterator; import java.util.List; /** * @desc Stack的测试程序。测试常用API的用法 * * @author skywang */ public class StackTest { public static void main(String[] args) { Stack stack = new Stack(); // 将1,2,3,4,5添加到栈中 for(int i=1; i<6; i++) { stack.push(String.valueOf(i)); } // 遍历并打印出该栈 iteratorThroughRandomAccess(stack) ; // 查找“2”在栈中的位置,并输出 int pos = stack.search("2"); System.out.println("the postion of 2 is:"+pos); // pup栈顶元素之后,遍历栈 stack.pop(); iteratorThroughRandomAccess(stack) ; // peek栈顶元素之后,遍历栈 String val = (String)stack.peek(); System.out.println("peek:"+val); iteratorThroughRandomAccess(stack) ; // 通过Iterator去遍历Stack iteratorThroughIterator(stack) ; } /** * 通过快速访问遍历Stack */ public static void iteratorThroughRandomAccess(List list) { String val = null; for (int i=0; i<list.size(); i++) { val = (String)list.get(i); System.out.print(val+" "); } System.out.println(); } /** * 通过迭代器遍历Stack */ public static void iteratorThroughIterator(List list) { String val = null; for(Iterator iter = list.iterator(); iter.hasNext(); ) { val = (String)iter.next(); System.out.print(val+" "); } System.out.println(); } }
执行结果:
1 2 3 4 5
the postion of 2 is:4
1 2 3 4
peek:4
1 2 3 4
1 2 3 4
相关推荐
在Java中,内存主要分为堆内存(Heap)和栈内存(Stack)。对象通常存储在堆内存中,而基本类型的变量和方法的局部变量存储在栈内存中。堆内存的大小可动态扩展,而栈内存的大小在编译时就已经确定。了解对象占用的...
尤其是对于C/C++代码的调试,由于涉及到本地代码与Java层之间的交互,使得调试过程变得更为复杂。为了解决这一难题,`ndk-stack`工具应运而生。通过本文档,我们将详细介绍如何使用`ndk-stack`工具来进行调试,帮助...
OPC UA java开发使用的jar包,最新代码编译的jar包版本1.4.0,欢迎下载使用。
java-stack-trace java-stack-trace是一个用于调试的java instrument,指定方法前缀,它能在指定前缀的方法被调用时打印当前堆栈。 由于asm的限制,仅支持jdk1.8及以上 编译 mvn package 用法 在java命令后添加-java...
7. -Xss:每个线程的 Stack 大小,建议设置为 128k。 8. -verbose:gc:实时垃圾收集信息。 9. -Xloggc:gc.log:指定垃圾收集日志文件。 10. -XX:+UseParNewGC:缩短 minor 收集的时间。 11. -XX:+...
遇到问题时,你可以轻松地在社区论坛或Stack Overflow上寻求帮助。 压缩包中的"下载地址,最新版可以访问这个.txt"文件提供了一个链接,方便你获取Selenium的最新版本。随着Selenium的持续发展,保持更新是必要的,...
在Java中,我们可以使用`java.util.Stack`类来实现压栈操作。初始化一个空栈,然后遍历查询结果集,每次遇到一个新节点,将其转换为自关联的对象(如`MenuNode`),并压入栈中。如果当前节点有父节点,我们将栈顶...
java入门 java_leetcode题解之155_Min_Stack
本项目这是一个纯静态的网址导航网站,项目基于bootstrap前端框架开发,基于Java开发的后台系统 框架:Guns Springboot
【标题】"Kosta-java-full-stack-02-15-2-30" 暗示这是一个关于Java全栈开发的学习资源,可能是某个课程或教程的一部分,日期可能表示发布或更新的时间,即2月15日的第2到第30个小时。这可能是一个连续的系列,涵盖...
【标题】"Kosta-java-full-stack-02-15" 暗示这是一个关于Java全栈开发的课程或教程,可能由一位名叫Kosta的专家或教育者提供。这个系列可能涵盖了从基础到进阶的Java编程,以及如何构建完整的Web应用程序。"02-15...
13. **社区支持**: 作为开源项目,MySQL Connector/J有活跃的社区提供支持,用户可以在MySQL官方论坛、Stack Overflow等平台寻求帮助或分享经验。 总结来说,MySQL Connector/J 5.1.6是Java开发者不可或缺的工具,...
the java mms library implements the multimedia messaging service stack necessary for communicating with an MMSC (via the jWap stack) and implements the client transactions necessary for transmitting ...
2. **SipStack**: 表示SIP堆栈,负责处理SIP消息的发送、接收和路由。 3. **SipProvider**: 这个组件负责与SIP服务器进行通信,发送和接收SIP请求和响应。 4. **SipURI**: 用于表示SIP URI,这是SIP地址的一种形式...
java java_leetcode题解之Maximum Frequency Stack.java
java java_leetcode题解之Implement Stack using Queues.java
java java_leetcode题解之Implement Stack Using Array.java
SpringBoot 提供了开箱即用的便捷性,而 Micrometer 则是 Spring 生态系统中的一个度量收集框架,支持多种监控系统如 Prometheus、Graphite 和 ELK Stack。 首先,`java-springboot-demomicrometer` 项目是一个简单...
标题中的“java-leetcode面试题解Stack之第71题简化路径-题解.zip”指出这是一个关于Java编程语言,LeetCode在线编程平台上的面试题目,具体是第71题,涉及的数据结构是栈(Stack),内容是解答如何简化路径的问题。...
在Java中,可以使用`java.util.Stack`类来实现这个算法。 通过解这道题,开发者可以增强对Stack数据结构的应用,提高解决实际问题的能力。同时,这也是一道常出现在求职面试中的题目,熟练掌握此题解法有助于在面试...