美文网首页
java学习(java.util.Stack类)

java学习(java.util.Stack类)

作者: 晨星资源 | 来源:发表于2017-10-11 10:48 被阅读21次

stack是一个后进先出的堆栈,在Vector类的基础上扩展5个方法而来

depue(双端队列)比起stack具有更好的完整性和一致性,应该被优先使用

E push(E item):把项压入堆栈顶部。

E pop():移除堆栈顶部的对象,并作为此函数的值返回该对象。

E peek():查看堆栈顶部的对象,但不从堆栈中移除它。

boolean empty():测试堆栈是否为空。

int search(Object o):返回对象在堆栈中的位置,以 1 为基数。

Stack本身通过扩展Vector而来,而Vector本身是一个可增长的对象数组( a growable array of objects)那么这个数组的哪里作为Stack的栈顶,哪里作为Stack的栈底?

答案只能从源代码中寻找,jdk1.6:


案列:



构造方法 : public Stack() 创建一个空 Stack。

方法:  

1. public push  (item )  把项 压入栈顶。其作用与 addElement (item ) 相同。

参数 item 压入栈顶的项 。 返回: item 参数 ;

2. public pop () 移除栈顶对象,并作为函数的值 返回该对象。

返回:栈顶对象(Vector 对象的中的最后一项)

抛出异常 : EmptyStackException 如果堆栈式空的 

3. public peek() 查看栈顶对象而不移除它。

返回:栈顶对象(Vector 对象的中的最后一项)

抛出异常 : EmptyStackException 如果堆栈式空的 

4. public boolean empty (测试堆栈是否为空。)  当且仅当堆栈中不含任何项时 返回 true,否则 返回 false。

5. public int search  (object o)  返回对象在堆栈中位置,以 1 为基数, 如果对象 o是栈中的一项,该方法返回距离,栈顶最近的出现位置到栈顶的距离;栈中最上端项的距离为1,使用equals 方法比较 o 与 堆栈中的项

相关文章

网友评论

      本文标题:java学习(java.util.Stack类)

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