`
liuzhiqiang19890403
  • 浏览: 57419 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

java桟Stack对象

 
阅读更多

使用Stack类,Stack堆栈添加移除元素的原则是后进先出。 Stack类的主要方法是:push(),peek(),pop(),empty(),search().

 

说明如下 - push() - 在栈顶添加元素 - peek() - 返回栈顶的元素,但是不删除栈顶元素 - pop() - 和peek()一样返回栈顶元素,但是要将栈顶元素移除掉 - empty() - 检查栈是否为空 - search() - 返回元素在堆栈中的位置

 

如下示例代码:

//Create the Stack instance and add a couple of elements to itStack stack =newStack();String s1 ="element 1";String s2 ="element 2";

stack.push(s1);
stack.push(s2);

现在栈中有两个元素,栈顶应该是element 2,我们可以通过peek方法看栈顶的元素:

System.out.println(stack.peek());

输出:

element 2

要看element 1的位置需要使用search方法:

//Find position of a certain elementint pos = stack.search("element 1");System.out.println(pos);

上面代码将输出:

2

要移除栈顶的元素应该用pop()方法:

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

输出:

element 2
element 1

在上一步中栈中的两个元素都被pop了,现在我们看下empty()方法是否返回true

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

输出:

true
分享到:
评论

相关推荐

    用java实现的栈Stack类

    用java实现的栈Stack类,不继承任何集合类,用对象数组实现

    Java栈源代码.txt

    通过Java面向对象思想和类的封装性完成栈的类设计,选择合适的底层存储结构,完成栈的判空isEmpty()、进栈push()、出栈pop()、取栈顶元素peek(),栈存储的对象以泛型给出。并和Java中的Stack的类以及功能进行比较...

    华科java实验-用泛型栈实现泛型队列

    试用java.util.Stack泛型栈作为父类,用另一个泛型栈对象作为成员变量,模拟实现一个泛型子类Queue,当存储元素的第1个栈的元素超过dump时,再有元素入队列就倒入第2栈。除提供无参构造函数Queue( )外,其它所有队列...

    java面试题答案——面试经典

    String和他们的区别你从首字母就能看出来了,String的首字母是大写,因为它是一个类,String和8种基本类型的包装类都属于类基本数据类型(primitive)的引用和引用所指的对象都存储在栈(stack)中, 而其他类型(object...

    (超赞)JAVA精华之--深入JAVA API

    1.1.2.1.5 栈类Stack 1.1.2.1.6 哈希表类Hashtable 1.1.2.1.7 位集合类BitSet Hashtable类 1.1.3 JAVA IO包 1.1.4 与时间有关的类Date,DateFormat,Calendar 1.2 深入理解嵌套类和内部类 1.2.1 什么是嵌套类及内部...

    java编程中影响性能的一些点

    1.尽量使用final修饰符。  带有final修饰符的类是不可派生... 调用方法时传递的参数以及在调用中创建的临时变量都保存在栈(Stack)中,速度较快。其他变量,如静态变量,实例变量等,都在堆(Heap)中创建,速度较慢。

    java课程设计论文

    5、构造Stack类来实现一个栈,利用java中的LinkedList实现,并实现栈的 pop() , push() , isEmpty() 等基本操作; 6、Chess类是含main函数的主类,实现了解决八皇后问题的核心算法,也是实现了可视化界面的类

    Java语言基础下载

    栈(stack) 249 队列: 250 树: 250 实例分析 252 内容总结 274 独立实践 275 第十六章:数据库(一) 276 学习目标 276 数据库的基本概念 277 数据的描述 277 数据联系的描述 278 数据模型 278 数据库三级模式结构 ...

    JAVA SE学习精华集锦

    1.1.2.1.5 栈类Stack 13 1.1.2.1.6 哈希表类Hashtable 14 1.1.2.1.7 位集合类BitSet 15 Hashtable类 20 1.1.3 JAVA IO包 24 1.1.4 与时间有关的类Date,DateFormat,Calendar 47 1.2 深入理解嵌套类和内部类 47 1.2.1 ...

    Java核心基础+Java中的数据在内存中的存储

    1、内存中的堆(stack)与栈(heap) 2、Java中数据在内存中的存储 基本数据类型的存储 对象的内存模型 包装类数据的存储 String类型数据的存储 数组的内存分配 内存空间的释放 3、Java内存分配中的栈 Java...

    入栈和出栈的基本操作用Java实现

    首先导入了java.util.Stack类,然后创建了一个Stack对象。接着,我们使用push()方法将元素1、2和3依次入栈。最后,我们使用pop()方法将栈顶元素出栈,并打印出栈后的元素和栈的状态。

    java笔试题

    9、解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法。 10、Math.round(11.5) 等于多少?Math.round(-11.5)等于多少? 11、switch 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上? ...

    java 面试题 总结

     GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收...

    超级有影响力霸气的Java面试题大全文档

     GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收...

    Java 虚拟机面试题全面解析(干货)

    如果出现在方法体中,则上述代码会反映到Java栈的本地变量表中,作为 reference类型数 据出现。 new Object( 反映到Java堆中,形成一块存储了 bject类型所有对象实例数据值的内存。Java堆中还包 含对象类型数据的地址...

    虚拟机学习笔记--周志明老师第三版

    5. JVM 栈(Java Virtual Machine Stack):描述 Java 方法执行的内存模型:执行新方法时创建栈帧,存储局部变量表、操作数栈等信息。 2.2 JVM 对象 Java 对象的创建过程: 1. 创建对象分配堆内存:类加载完毕后...

    史上最全Java面试大全

    简答题 22 1.面向对象的特征有哪些方面 22 ...21. 解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法。 29 22.swtich 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上? 31

    java面试题

    答:JDO是java对象持久化的新的规范,为java data object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。 CORBA? 答:CORBA标准是公共对象请求代理结构,用途为:用不同的程序设计语言书写,在不同的...

    java8rt.jar源码-jvm:jvm入门jvm面试题

    Stack(JAVA方法栈)、Native Method Stack(本地方法栈)。 3、类加载器 对象实例化过程 类加载器类别 BootstrapClassLoader(启动类加载器) c++编写,加载java核心库 java.*,构造ExtClassLoader和AppClassLoader。...

    JVM面试专题

     3、解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法 4、Perm Space中保存什么数据?会引起OutOfMemory吗? 5、什么是类的加载 6、如何⾃定义⼀个类加载器?你使⽤过哪些或者你在什么场景下需要⼀个⾃...

Global site tag (gtag.js) - Google Analytics