java 堆疊的使用方法說明
最近偶然開始對stack進行研究,發現這個還蠻簡單的,與類似的連結串列集合不一樣的是,stack可以通過直接new stack()建立。
stack資料儲存方式為“後進先出”的方式,例如:
Stack<String> stack = new Stack<String>();
stack.add("zhangsan");
stack.add("lisi");
stack.add("wangwu");
stack.add("qianliu");
stack.add("zhaoda");
int index = stack.search("qianliu");// 尋找物件位置
int index1 = stack.search("zhaoda");// 尋找物件位置
System.out.println("位置為:"+index+":"+index1);
stack.add(3, "孫二孃");
String first=stack.firstElement();
System.out.println("first="+first);
stack.push("王五");
System.out.println("top="+stack.lastElement());
java支援堆疊中物件元素為null,也可以通過設定setSize(int num)使得資料為null。
在stack中,可以發現最後新增的資料“王五”需要通過lastElement方法獲取,如果需要採用search獲取位置index,那麼可以預計位置為
1.stack中對資料已經存在的資料的操作方法都提供了返回引數如:String delete=stack.pop();stack提供了直接新增入list集合的方法。
下面是對stack中資料的遍歷:
最後介紹一下在堆疊中新增list集合:
Stack<String> stack = new Stack<String>();
stack.add("zhangsan");
stack.add("lisi");
stack.add("wangwu");
stack.add("qianliu");
stack.add("zhaoda");
stack.add(null);
List<String> list=new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
stack.addAll(list);
System.out.println("size="+stack.size());
Iterator<String> it=stack.iterator();
while(it.hasNext()){
String object=it.next();
System.out.print(object+",");
}
輸出結果為:size=9zhangsan,lisi,wangwu,qianliu,zhaoda,null,A,B,C,
以上對stack的操作皆來自於對jdk中stack自帶方法的處理。並不具備實際的企業開發意義,但是瞭解堆疊也為以後選擇儲存資料提供了一個新的方式。
相關文章
- Java堆疊的區別有哪些Java
- 加強堆結構說明
- 堆疊和記憶體的關係 細說記憶體
- JS 堆疊JS
- 平衡堆疊
- 堆疊圖
- Java獲取堆疊資訊的3種方法Java
- 【MEMORY】Oracle 共享池堆簡單說明Oracle
- Java之String和StringBuffer堆疊圖分析Java
- Qtum智慧合約使用方法及說明QT
- C++檔案說明及使用方法C++
- Thrift的網路堆疊
- Java堆疊的深度分析及記憶體管理技巧Java記憶體
- Java解決遞迴造成的堆疊溢位問題Java遞迴
- Java多執行緒-程式執行堆疊分析Java執行緒
- java String類說明Java
- C#堆疊(Stack)C#
- Marketing Cloud demo環境和API使用方法說明CloudAPI
- 資料結構的概念、堆疊資料結構
- java 類路徑說明Java
- [golang]如何看懂呼叫堆疊Golang
- 益智補劑:Stamets堆疊
- C中關於堆疊的總結
- 不一樣的 Android 堆疊抓取方案Android
- bzoj2253 紙箱堆疊
- 什麼是網路堆疊?
- junkman 遠端堆疊監控
- iOS crash 日誌堆疊解析iOS
- (js佇列,堆疊) (FIFO,LIFO)JS佇列
- StackOverflowError堆疊溢位錯誤Error
- 華為裝置堆疊原理
- android 解碼混淆過的堆疊資訊Android
- 堆疊溢位報錯引發的思考
- 堆疊的實現(1)--靜態陣列陣列
- JS中堆疊記憶體的練習JS記憶體
- javascript堆疊記憶體分配的區別JavaScript記憶體
- 【資料結構】堆疊(順序棧、鏈棧)的JAVA程式碼實現資料結構Java
- 如何製作Java文件說明書Java
- Java執行緒池使用說明Java執行緒