美文网首页
Java集合类--Stack

Java集合类--Stack

作者: imo浩 | 来源:发表于2017-05-19 16:59 被阅读0次

    1:Stack简单介绍

    Stack是栈。它的特性是:先进后出(FILO, First In Last Out)。

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

    java中关于Stack的实现其实非常的不妥当为什么?

    首先因为栈的实现继承了Vector,目的是为了复用方法,但是Vector的实现是基于数组的实现,而栈的使用场景大多是出栈入栈等插入或者删除元素的操作,从设计上来讲栈就不是用来做数据查询之用,从底层数据结构的层面来说链表的方式更适合用来实现栈。

    既然是栈(栈只能在栈顶添加或删除元素),复用这种在指定位置添加元素的方法的意义何在?

    所以Stack的实现是值得质疑的一件事情,如果我们要用栈的数据结构,可以选择用LinkedList来实现,或者用Deque也可以,效率高,接口设计也比较的完美

    看一下Stack的集成关系

    2:Stack方法介绍

    3:Stack代码示例

    相关文章

      网友评论

          本文标题:Java集合类--Stack

          本文链接:https://www.haomeiwen.com/subject/sglwzttx.html