java中stack類繼承于vector,其特性為后進先出(lastinfirstout).
入棧和出棧實例圖:
實例圖的java代碼實例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
package com.lanhuigu.java.listtest; import java.util.stack; public class stacktest { public static void main(string[] args) { stack<string> staffs = new stack<string>(); // 入棧順序: a,b,c,d,e staffs.push( "a" ); staffs.push( "b" ); staffs.push( "c" ); staffs.push( "d" ); staffs.push( "e" ); // 出棧順序: e,d,c,b,a while ( !staffs.isempty()) { system.out.print(staffs.pop() + " " ); } } } |
程序運行結果:
edcba
stack類中方法:
官網api:
方法分析:
empty():判斷棧是否為空,為空返回true,否則返回false
peek():取出棧頂元素,但是不從棧中移除元素
pop():取出棧頂元素,并且將其從棧中移除
push(eitem):元素入棧
search(objecto):在棧中查找元素位置,位置從棧頂開始往下算,棧頂為1,
依次往下數到所查找元素位置,如果所查找元素在棧中不存在,則返回-1。
關于這幾個方法的實例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
package com.lanhuigu.java.listtest; import java.util.stack; public class stackmethodtest { public static void main(string[] args) { stack<string> staffs = new stack<string>(); // 入棧順序: a,b,c,d,e staffs.push( "a" ); staffs.push( "b" ); staffs.push( "c" ); staffs.push( "d" ); staffs.push( "e" ); system.out.println( "empty():" + staffs.empty()); system.out.println( "peek():" + staffs.peek()); system.out.println( "search(object o):" + staffs.search( "a" )); system.out.println( "search(object o):" + staffs.search( "e" )); system.out.println( "search(object o):" + staffs.search( "no" )); // 出棧順序: e,d,c,b,a while ( !staffs.isempty()) { system.out.print(staffs.pop() + " " ); } system.out.println( "=====空棧中使用方法=======" ); system.out.println( "empty():" + staffs.empty()); //system.out.println("peek():" + staffs.peek());// 在空棧中使用時報錯,因為沒有棧頂元素 system.out.println( "search(object o):" + staffs.search( "a" )); system.out.println( "search(object o):" + staffs.search( "e" )); system.out.println( "search(object o):" + staffs.search( "no" )); //system.out.print(staffs.pop());// 空棧中移除棧頂元素,報錯 } } |
程序運行結果:
以上幾個方法是stack繼承于vector擴展的方法,因為stack繼承于vector,哪么vector中的非private方法
也是stack類的方法。
vector中的方法,官方api_1.8:
總結
以上就是本文關于java中stack(棧)的使用代碼實例的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題。如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
原文鏈接:http://blog.csdn.net/yhl_jxy/article/details/53418330