目錄簡介
介紹原始碼分析(基於jdk1.8) 案例
stack模擬的是棧的操作,繼承了vector類,底層也是通過陣列來實現的。棧的資料特點是先進後出(filo,first in last out),即最後壓入棧的元素,總是第乙個彈出棧。由於stack繼承了vector,所以執行緒安全,並且提供了操作佇列的方法,可以隨機訪問,能轉殖,能進行序列化和序列化傳輸。
1.構造方法
public stack() {}
2.內部方法
public e push(e item){}
public synchronized e pop() {}
public synchronized e peek() {}
public boolean empty() {}
public synchronized int search(object o) {}
public class stackextends vector
//向棧頂壓入乙個指定元素,底層呼叫的addelement()方法,並返回存入的元素。
public e push(e item)
//返回棧頂的元素,並從棧中移除。
//如果棧為空,將丟擲emptystackexception異常
public synchronized e pop()
//返回棧頂的元素,不執行移除操作。
//如果棧為空,將丟擲emptystackexception異常
public synchronized e peek()
//如果棧為空,返回true。
public boolean empty()
//查詢棧中指定元素,返回元素到棧頂部的距離。
public synchronized int search(object o)
return -1;
}/** use serialversionuid from jdk 1.0.2 for interoperability */
//序列化版本號
private static final long serialversionuid = 1224463164541339165l;
}
stack繼承了vector,所以擁有stack的大部分方法,這裡測試了棧的訪問。
public class stackdemo
system.out.println("peek----"+stack.peek());
while(!stack.isempty())
system.out.println();
}}
執行結果:
peek----stack
stack about demo a is this
可以看出先進棧的元素,後彈出棧。
java集合相關原始碼分析
hashmap 原始碼分析 hashset 原始碼分析 arraylist 原始碼分析 concurrentmap 原始碼分析 2018 03 25 map 綜述 一 徹頭徹尾理解 hashmap map 綜述 二 徹頭徹尾理解 linkedhashmap map 綜述 三 徹頭徹尾理解 concu...
java集合 ArrayList原始碼分析
arraylist是一種基於陣列實現的集合類,也是平常經常使用到的集合。其特性歸納如下 特性值 是否順序儲存 順序是否可重複儲存 可以是否可儲存null 可以是否執行緒安全 非執行緒安全 屬性說明 elementdata arraylist是基於陣列實現的,這就是arraylist用於儲存 size...
JAVA集合原始碼分析 HashMap
1 hashmap底層資料結構在1.7之前是陣列 鍊錶而1.8之後是陣列 鍊錶 紅黑樹 2 三個變數 initcapacity 陣列初始容量 loadfactory 載入因子 thresold 3 三個過程 陣列擴容的過程 resize 擴容後原陣列資料轉移到新資料結構的過程 陣列新增元素的過程 p...