java中Stack类的介绍

本文主要对java中的Stack源码进行分析。

1.Stack类在java.util包中;

2.源码顶部注释分析

java中Stack类的介绍_第1张图片

3.继承关系

Stack继承了Vector,而Vector类底层使用数组存储数据,那么Stack对象中存储的数据也是存储在数组中的。


4.构造函数

Stack只有一个无参数的构造函数。

5.API介绍

(1)push(item):把数据压入栈

java中Stack类的介绍_第2张图片

addElement()是父类Vector中的方法,会将压入栈的元素存放在数组末尾。

java中Stack类的介绍_第3张图片


(2)peek():查看栈顶的数据,返回值为栈顶元素,底层数组中最后一个元素,但是不会删除该元素

java中Stack类的介绍_第4张图片

java中Stack类的介绍_第5张图片

java中Stack类的介绍_第6张图片

(3)pop():查看栈顶的数据,返回值为栈顶元素,底层数组中最后一个元素,同时把栈中的该元素删除。

java中Stack类的介绍_第7张图片

(4)empty():判断栈是否为空栈

在Vector中有isEmpty(),所以Stack对象也可以使用isEmpty()判断栈是否为空。

(5)search(Object o):返回距离栈顶最近的相同元素的距离,以1为基准。如果栈中不存在这个元素,返回-1。

你可能感兴趣的:(Java)