集合是一種抽象數據類型。html
ADT的抽象性:必須對其實現的細節做出定義,但這些定義用戶不可見。java
java標準類庫中定義的幾種表示不一樣類型集合的類
git
/**編程
Stack類數組
棧:桶型或箱型數據類型,後進先出,相對堆Heap爲二叉樹類型,能夠快速定位並操做安全
Stack
public class Stack
Stack的方法調用的Vector的方法,被synchronized修飾,爲線程安全(Vector也是)學習
Stack methods:測試
push : 把項壓入堆棧頂部 ,並做爲此函數的值返回該對象
pop : 移除堆棧頂部的對象,並做爲此函數的值返回該對象
peek : 查看堆棧頂部的對象,,並做爲此函數的值返回該對象,但不從堆棧中移除它
empty : 測試堆棧是否爲空
search : 返回對象在堆棧中的位置,以 1 爲基數
*/
3.3 主要的面象對象概念: 已在以前的博客中提過,這裏再也不重複敘述。
計算過程:由左至右,將掃描到的操做符應用與前面相鄰的兩個操做數
異常是一個對象,其定義了一種非正常或錯誤的狀況,但其不一樣於錯誤(沒法恢復),其能夠被捕獲或適當地處理。
容量:數組的單元數量,數組一旦建立好,其不可變。
數組實現棧的一個應用實例,包含棧的一些基本操做。
鏈表由許多對象構成,每一個對象指向了鏈表中的下一個對象。
eg:
Person current = first; for (int i = 0; i<n; i ++) current = current.next
查找特定元素:
eg:
String searchstring = "要尋找的元素"; Person current = first; while ((not(current.equals(searchstring))&&(current.next !=null) current = current.next;
注意先後順序,防止鏈表丟失。
雙向鏈表:兩個引用,分別指向上下兩個元素,鏈表兩端放置啞節點。
從鏈表的一端添加或刪除元素。
問題1:沒法對鏈表的首節點作操做。
解決:能夠看到,return得到的Head本是677,但在實際應用時又變爲676,最終使用
System.out.println
錯題1:
解決: 誤選,堆棧可用於保存數據。
錯題2:
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | |
---|---|---|---|
目標 | 3000行 | 15篇 | 300小時 |
第一週 | 0/0 | 1/1 | 12/12 |
第二週 | 935/935 | 1/2 | 24/36 |
數據結構(Java實現)之單向鏈表的節點表示、插入、刪除、單向鏈表反轉和串聯
【數據結構】鏈表的原理及java實現
java集合包總結(添加、刪除等操做實現原理)