Java集合类--Stack

1:Stack简单介绍

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

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

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

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

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

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

Java集合类--Stack_第1张图片


看一下Stack的集成关系

Java集合类--Stack_第2张图片

2:Stack方法介绍


Java集合类--Stack_第3张图片

3:Stack代码示例


Java集合类--Stack_第4张图片

你可能感兴趣的:(Java集合类--Stack)